複数のテーブルを選択して複数の行を同じ列からジョインするにはどうすればよいですか?SQL - 複数のテーブルを選択し、同じ列から複数の行を結合するには?
painting.id_group
,およびpainting.id_location
を返しません。 このSQLスニペットの構文が間違っていると確信しています。
SELECT painting.id, painting.order, painting_en.url, id_portfolio.en
FROM painting
LEFT JOIN painting_en
USING (id)
LEFT JOIN id_portfolio ON id_portfolio.id = painting.id_group
AND id_portfolio.id = painting.id_type
AND id_portfolio.id = painting.id_location
WHERE painting_en.url='2011-name3'
LIMIT 1
更新: それはShowing rows 0 - 0 (1 total, Query took 0.0004 sec)
を示しています。
id | order | url |en
----------+-------+------------+-----
09518709 | 4 | 2011-name3 | NULL
が、私は返す必要があります:
AND id_portfolio.id = painting.id_type
AND id_portfolio.id = painting.id_location
を除去した後、それを返し
id | order | url | group | type | location
----------+-------+------------+---------+---------------+---------
09518709 | 4 | 2011-name3 | realism | oil on canvas | US
あなたは何ですかそれを返さないという意味ですか?グリッドには1列しか返されませんか? –
質問をSQL結果と期待される結果で更新しました。 – Binyamin