16

トリプル結合クエリを作成するのに苦労しています。

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

家:

house ID(key) | Address | personID |

人:

personID (key) | Name | Address | 

画像: //家の

imageID (key) | personID | url | 

結果を5に制限したいと思います。

家の住所-es(main)、所有者の名前と住所、および所有者の写真1枚を照会したいと思います。

注:すべての人の画像は最大3つ(画像テーブルには3行)ありますが、必要なのは1つだけで、どちらでも構いません。

4

3 に答える 3

38
SELECT h.Address, p.Name, p.Address as OwnerAddress, i.url FROM house AS h
INNER JOIN person AS p ON p.personID = h.personID
INNER JOIN images AS i ON i.personID = p.personID
GROUP BY h.houseID

あなたのために働くはずです。

于 2012-08-31T21:32:01.563 に答える
4

たぶん、LEFTOUTERJOINのようなものを使用する方が良いでしょう

SELECT
   h.Address  as `h_address`,
   p.Name     as `p_name`,
   p.Address  as `p_address`,
   i.url      as `i_url`
FROM house AS `h`
   LEFT OUTER JOIN person AS `p` ON (p.personID = h.personID)
   LEFT OUTER JOIN images AS `i` ON (p.personID = i.personID)
GROUP BY h.houseID

画像が登録されていない家も表示されます。

于 2013-03-01T19:47:28.873 に答える
-1

3つのテーブルを結合する

すなわち:

select i_f.*, i_f_d.* , i_f_c.creator_name 
  from indent_form i_f 
  join indent_form_details i_f_d on i_f.id=i_f_d.ind_id 
  join indent_form_creator i_f_c on i_f.user_id=i_f_c.id

indent_form table 1,
indent_form_details table 2,
indent_form_creator table 3,
于 2017-01-04T08:54:57.147 に答える