1

2 つのテーブルがtab_adありtab_photos、各広告には 5 枚の写真 (または任意の写真) を含めることができます。

構造:

tab_ad

  • ad_id
  • ad_title
  • ad_desc

tab_photos

  • ph_id
  • ph_path
  • ad_id

(各 ad_id)のすべての列tab_adと最初の写真を選択する選択を試みています。ad_id が見つからない場合はNULLを返す必要があります。tab_photostab_photos

例: ad_id、ad_title、ad_desc、ph_id、ph_path を返す

4

2 に答える 2

3

あたかもデータ(つまり)がそこにないかのようLEFT JOINに値を与えることを試してみてください:tab_photosNULLad_id

SELECT ad.ad_id, ad.ad_title, ad.ad_desc, ph.ph_id, ph.ph_path
  FROM tab_ad ad 
  LEFT JOIN tab_photos ph
    ON ad.ad_id = ph.ad_id
于 2013-07-22T11:47:50.533 に答える
1

を使用して、2 番目のテーブルから correlated sub queryを選択します。top photo

SELECT 
    ad_id,
    ad_title,
    ad_desc,
    (SELECT TOP(1)ph_path FROM tab_photos b WHERE b.ad_id=a.ad_ID)
FROM tab_ad a    
于 2013-07-22T11:49:35.150 に答える