我試着搜索相關的查詢語句並應用但不工作。如何加入不同的表格?
我想在一個GET調用中加入我所有的api表,並且我無法執行它。查詢失敗並獲取錯誤。
我的查詢看起來像這樣的表我已經顯示。
SELECT projects.*, images.*, rewards.*, shipping.*
FROM projects
LEFT JOIN rewards ON rewards.projects_id = projects.id
LEFT INNER JOIN rewards ON rewards.id = shipping.reward_id
LEFT JOIN images ON projects.id = images.project_id
WHERE projects.id = 1
我想加入的獎勵和運輸與所有的表,項目回報有一個關係到許多和獎勵航運也一對多。我怎麼能結合在一個查詢中的所有這一切?我也嘗試子查詢,但我不知道如何使這些表中的查詢。 請解釋一下如何在子查詢或聯接中工作? 如果不是很好的做法,請說明我的其他技術。
UPDATE
我試圖像這樣使用子查詢它說未知列運送
SELECT projects.*, rewards.*, images.image, shipping = (SELECT *
FROM shipping
WHERE shipping.reward_id IN (SELECT * FROM rewards WHERE rewards.project_id = 1))
FROM projects JOIN rewards ON rewards.project_id = projects.id
LEFT JOIN images ON projects.id = images.project_id
WHERE projects.id = 1
你在哪裏找到這個'LEFT INNER JOIN'? 請爲你的桌子分享'show create table'並且你想要得到的最終結果 – AnouarZ
如果你要從這四張桌子中選擇所有的數據,你將不知道哪個圖像與哪個獎勵結合在一起,所以結果將會因爲每個圖像都會與每一個獎勵結合在一起。您應該提供樣本數據和您想要的樣本數據的輸出。 – trincot
嗨。請合理地格式化該代碼。另請閱讀並在[mcve]上採取行動。並閱讀關係數據庫的介紹 - 你的問題只是要求一個。同樣谷歌SO爲您的標題/問題的變化的例子。 – philipxy