0

私の質問に対する答えは比較的単純かもしれませんが、SQL を始めて数週間しかたっていないので、根本的な問題の解決策が本当に見つかりません。

EMAIL フィールドに基づいてマージしたい 3 つのテーブル (DIGITAL、PRINTER、ADVERT) があります (EMAIL フィールドはテーブルごとのすべての行で一意ですが、他のテーブルと重複する部分があります。他のフィールドは電子メール テーブルに従う必要があり、クエリを実行することはできません)。

現在の状況:

デジタル

  • aa@aa.com - fname - lname
  • bb@bb.com - fname - lname
  • cc@cc.com - fname - lname

プリンター

  • dd@dd.com - fname - lname
  • ee@ee.com - fname - lname
  • aa@aa.com - fname - lname

広告

  • ff@ff.com - fname - lname
  • cc@cc.com - fname - lname
  • aa@aa.com - fname - lname

行きたい場所:

マスターテーブル

  • aa@aa.com - fname - lname
  • bb@bb.com - fname - lname
  • cc@cc.com - fname - lname
  • ee@ee.com - fname - lname
  • ff@ff.com - fname - lname

UNION ステートメントを使用すると、この結果を得ることができますが、 EMAIL以外のすべてのフィールドが失われます。

誰かが私を助けてくれませんか、私は非常に非常に感謝しています!

4

1 に答える 1

0

次のクエリは、メール、fname、および lname のマージ結果を取得する必要があります。

select email,fname,lname from digital
union
select email,fname,lname from printer
union
select email,fname,lname from advert;
于 2013-04-28T11:35:53.200 に答える