同じIDを持つ異なるテーブルからすべてのデータを取得するSQLクエリ

ミゲル・マス

これがあまりにも基本的であるならば申し訳ありませんが、私はそれを解決することができません。それに関する情報を検索する方法もわかりません:

私は3つのテーブルを持っています:

プロバイダー

id_provider  name   
---------- ----------- 
100         John 
101         Sam 
102         Peter   

連絡先

id_contact  RowNo   Email   
---------- ----------- ---------------- 
100          1      [email protected]
100          2      [email protected]
101          1      [email protected]
101          2      [email protected]

製品

Id_product  RowNo   Product 
---------- ----------- ------------------------ 
100          1      John’s 1st product
100          2      John’s 2nd product
101          1      Sam’s 1st product
101          2      Sam’s 2nd product
101          3      Sam’s 3rd product

次のように、3つのテーブルのすべてのデータを表示するクエリが必要です。

Id  name    id_contact  RowNo  Email     Id_Product  RowNo  Product

100  John    100         1  [email protected]    100       1   John’s 1st product
100  John    100         2  [email protected]   100       2   John’s 2st product
101  Sam     101         1  [email protected]     101       1   Sam's 1st product 
101  Sam     101         2  [email protected]    101       2   Sam's 2nd product
101  Sam     null       null   null          101       3   Sam's 3rd product
102  Peter   null       null   null          null    null  null

知っているすべての結合を試していますが、機能させることができません。

どうもありがとう

ジョルゴス・ベトス

次のクエリを使用できます。

SELECT t1.id_provider AS Id, t1.name, 
       t2.id_contact, t2.cRowNo, t2.Email,
       t2.Id_product, t2.Product
FROM Provider AS t1
LEFT JOIN (
   SELECT COALESCE(id_contact, id_product) AS id,
          c.id_contact, c.RowNo AS cRowNo, c.Email,
          p.Id_product, p.Product, p.RowNo AS pRowNo
   FROM Contact AS c 
   FULL JOIN Product AS p ON p.id_product = c.id_contact AND p.RowNo = c.RowNo
) AS t2 ON t1.id_provider = t2.id

クエリがないFULL JOINContactProductテーブルや由来テーブル合流FULL JOINProviderテーブルを。

FULL JOIN2つのテーブル、ContactまたはのどちらProductにそれぞれの行が最も多いかを事前に知ることができないため、Aが必要ですid

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

同じIDテーブルを持つ複数のテーブルからすべての行を出力するSQLクエリは何ですか?

分類Dev

同じIDを持つ異なるテーブルからすべての値を更新します

分類Dev

同じテーブルから、異なるフィルターを使用して、2つのSelect sum SQLクエリを結合できますか?

分類Dev

1つのクエリで2つの異なるテーブルからデータを取得する

分類Dev

異なるIDを持つSQLテーブルフィールドから対応する異なる変数にデータを取得するには

分類Dev

SELECTクエリを使用してデータベース内の2つの異なるテーブルからデータを取得する

分類Dev

orientDBの同じテーブルから2つの異なるエッジのデータを取得するにはどうすればよいですか?

分類Dev

3つのテーブルからデータを取得するSQLクエリ

分類Dev

異なるテーブルからの同じクエリの2つの列を合計する

分類Dev

4つの異なるテーブルからデータをフェッチするSQLクエリ

分類Dev

異なる値を持つテーブル内のデータを検索するSQLクエリ

分類Dev

MS SQLは、1つのクエリで同じテーブルから関連データを取得します

分類Dev

PHPを使用してSQLから同じテーブルの列名を持つデータを取得するにはどうすればよいですか?

分類Dev

特定の値が異なる同じテーブルから行を取得するMYSQLクエリ

分類Dev

30日以内のテーブルからすべてのデータを取得するSQLクエリ

分類Dev

同じ構造を持つ複数のデータベースの同じテーブルをクエリして、すべてのクエリ結果をまとめるにはどうすればよいですか?

分類Dev

同じクエリで異なる情報を持つ2つのMySQLテーブルを結合します

分類Dev

条件が異なる同じ列の合計を返す1つのテーブルからのmysqlクエリ

分類Dev

条件が異なる同じ列の合計を返す1つのテーブルからのmysqlクエリ

分類Dev

同じSQLの2つの異なるテーブルから2つの値を取得する方法

分類Dev

複数の条件を持つ2つのテーブルからデータを取得するSQLServerクエリ

分類Dev

同じデータを持つ2つのテーブルに対して実行されるクエリのパフォーマンスが異なる

分類Dev

カウントのある異なるキーの3つの異なるテーブルからデータを取得するためのクエリ

分類Dev

SQLで同じIDと異なるテーブルを持つ列の合計を取得するにはどうすればよいですか?

分類Dev

2つのテーブルからデータを取得して並べ替えるSQLクエリを実行する必要があります

分類Dev

異なるキーの3つの異なるテーブルからデータを取得するためのクエリ

分類Dev

同じ ID を持つ別のテーブルからデータを選択する

分類Dev

異なる条件で同じテーブルの2つの列の値を分割する方法をSQLクエリ

分類Dev

2つのテーブルから異なるレコードを取得するSQLクエリ

Related 関連記事

  1. 1

    同じIDテーブルを持つ複数のテーブルからすべての行を出力するSQLクエリは何ですか?

  2. 2

    同じIDを持つ異なるテーブルからすべての値を更新します

  3. 3

    同じテーブルから、異なるフィルターを使用して、2つのSelect sum SQLクエリを結合できますか?

  4. 4

    1つのクエリで2つの異なるテーブルからデータを取得する

  5. 5

    異なるIDを持つSQLテーブルフィールドから対応する異なる変数にデータを取得するには

  6. 6

    SELECTクエリを使用してデータベース内の2つの異なるテーブルからデータを取得する

  7. 7

    orientDBの同じテーブルから2つの異なるエッジのデータを取得するにはどうすればよいですか?

  8. 8

    3つのテーブルからデータを取得するSQLクエリ

  9. 9

    異なるテーブルからの同じクエリの2つの列を合計する

  10. 10

    4つの異なるテーブルからデータをフェッチするSQLクエリ

  11. 11

    異なる値を持つテーブル内のデータを検索するSQLクエリ

  12. 12

    MS SQLは、1つのクエリで同じテーブルから関連データを取得します

  13. 13

    PHPを使用してSQLから同じテーブルの列名を持つデータを取得するにはどうすればよいですか?

  14. 14

    特定の値が異なる同じテーブルから行を取得するMYSQLクエリ

  15. 15

    30日以内のテーブルからすべてのデータを取得するSQLクエリ

  16. 16

    同じ構造を持つ複数のデータベースの同じテーブルをクエリして、すべてのクエリ結果をまとめるにはどうすればよいですか?

  17. 17

    同じクエリで異なる情報を持つ2つのMySQLテーブルを結合します

  18. 18

    条件が異なる同じ列の合計を返す1つのテーブルからのmysqlクエリ

  19. 19

    条件が異なる同じ列の合計を返す1つのテーブルからのmysqlクエリ

  20. 20

    同じSQLの2つの異なるテーブルから2つの値を取得する方法

  21. 21

    複数の条件を持つ2つのテーブルからデータを取得するSQLServerクエリ

  22. 22

    同じデータを持つ2つのテーブルに対して実行されるクエリのパフォーマンスが異なる

  23. 23

    カウントのある異なるキーの3つの異なるテーブルからデータを取得するためのクエリ

  24. 24

    SQLで同じIDと異なるテーブルを持つ列の合計を取得するにはどうすればよいですか?

  25. 25

    2つのテーブルからデータを取得して並べ替えるSQLクエリを実行する必要があります

  26. 26

    異なるキーの3つの異なるテーブルからデータを取得するためのクエリ

  27. 27

    同じ ID を持つ別のテーブルからデータを選択する

  28. 28

    異なる条件で同じテーブルの2つの列の値を分割する方法をSQLクエリ

  29. 29

    2つのテーブルから異なるレコードを取得するSQLクエリ

ホットタグ

アーカイブ