0

3 つのテーブルを結合するクエリ SELECT を実行する必要があります (問題ありません)。それにもかかわらず、3 番目のテーブルには、結合 KEY に一致する要素を含めることも、含めないこともできます。

最初の 2 つのテーブルからすべてのデータが必要で、ITEMS の ALSO 情報が 3 番目のテーブルにある場合は、このデータを取得します。

たとえば、最初のテーブルには人がいて、2 番目のテーブルには住所があり (誰もがどこにでも住んでいます)、3 番目のテーブルには運転免許証が格納されています (誰もがこれを持っているわけではありません) - しかし、すべてのデータをフェッチする必要があります。人(全員)は運転免許を持っています。

読んでくれてありがとう、可能であれば提案/解決策を教えてください!

4

1 に答える 1

3

LEFT JOIN3 番目のテーブルを結合するために使用します。行の使用INNER JOINは存在する必要があります。を使用するLEFT JOINと、「ギャップ」がNULLs で埋められます。

SELECT
  p.PersonID, -- NOT NULL
  -- dl.PersonID, -- Can be null. Don't use this one.
  p.FirstName,
  p.LastName,
  a.City,
  a.Street,
  dl.ValidUntilDate
FROM
  Person p
  INNER JOIN Addresse a ON a.AddressID = p.HomeAddressID
  LEFT JOIN DrivingLicence dl ON dl.PersonId = p.PersonID
于 2013-08-01T14:32:31.963 に答える