0

私はMySQLを初めて使用し、いくつかの異なるGoogle検索を試し、いくつかの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 を使用して複数のテーブルからデータを選択できます - w3school の JOINS

ただし、テーブルを接続する必要があります。たとえば、テーブル ユーザーとジョブを作成します。ユーザーの仕事は 1 つです。そのため、ユーザー テーブルにフィールド job_id を追加し、ジョブ テーブルへの外部キーとして設定します (InnoDB エンジンを使用している場合)。その後、 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 に答える