0

我是 MySQL 新手,在尝试了一些不同的谷歌搜索并阅读了一些 MySQL 教程之后,似乎无法获得所需的信息。

给定以下示例表:

表1(活动这是发送给客户端的活动表):

ID  sendingid         list        fromaccount    
1       a1        user_new1        noreply@example.com
2       a2        user_new1        noreply@example.com
3       a3        user_new2        noreply@example.com
4       a4        user_new4        noreply@example.com

表 2(跟踪 - 这是主要的任务跟踪表,它跟踪哪个用户打开了我们的活动):

ID  trackingid         emails            
1       a1        myexampla@gmail.com
2       a2        example@hotmail.com 
3       a3        newexample@yahoo.com
4       a4        simpler@gmail.com

表 3(user_new1- 这是在列名列表下附加活动发送的列表):

ID     fname         emails                    price
1       John        myexampla@gmail.com        10
2       Bill        example@hotmail.com        20
3       sami        newexample@yahoo.com       20
4       daweoo        simpler@gmail.com        20

user_new1,user_new2,user_new3 .......user_new80 表。所有表都具有相似的结构。

首先我会从跟踪表中找到唯一的电子邮件地址,然后我会找到它发送到哪个活动表列表,然后我将从列表中删除该记录,比如 user_new1 并将其移动到另一个临时表。我们在数据库中有数百万条记录

4

2 回答 2

0

关于表 user_new1, user_new2 ...为每个用户创建一个表真的是个好主意吗?不仅仅是为每个用户提供字段的表。

您可以使用 JOIN - JOINS on w3school从多个表中选择数据

但是你需要连接表,例如,创建表Users和Jobs。用户有一份工作。因此,如果使用 InnoDB 引擎,则在用户表中添加字段 job_id 并设置为作业表的外键。之后,您可以使用 join 从两个表中进行选择:

$sql = "SELECT * FROM users AS u
        JOIN jobs AS j
        ON u.job_id = j.id";
于 2012-06-26T11:50:05.557 回答
0

试试这个代码

 SELECT
    p.fCodigoProduto, p.fCodigoCategoria, p.fCodigoCategoriaSub, p.fCodigoVendedor,
    p.fCodigoFornecedor, p.fNomeProduto, p.fDescricao, p.fPreco,
    p.fObservacao, p.fDataCadastro, p.fStatusProduto,
    c.fNomeCategoria, 
    s.fNomeCategoriaSub,
    f.fNomeFornecedor, 
    i.fSequenciaImagem, i.fCaminhoImagem, i.fTamanhoImagem, i.fImagemProduto,
    (@rownum:=@rownum+1) as Rownumber,
   (SELECT count(*) FROM tblprodutos) as QtdeReg
 FROM
  tblprodutos p
  LEFT JOIN tblcategorias c ON p.fCodigoCategoria = c.fCodigoCategoria
  LEFT JOIN tblcategoriassub s ON p.fCodigoCategoriaSub = s.fCodigoCategoriaSub
  LEFT JOIN tblvendedores v ON p.fCodigoVendedor = v.fCodigoVendedor
  LEFT JOIN tblfornecedores f ON p.fCodigoFornecedor = f.fCodigoFornecedor
  LEFT JOIN tblimagemproduto i ON p.fCodigoProduto = i.fCodigoProduto
 ORDER BY
   fNomeProduto ASC
于 2012-06-26T11:56:31.107 回答