我试着搜索相关的查询语句并应用但不工作。如何加入不同的表格?
我想在一个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