MySQl问题,试图做三个表的左外连接
问题描述:
我想从三个不同的表中获取信息。MySQl问题,试图做三个表的左外连接
表一是Monthly Ship Reports
- 其中每个报表都有一个密钥ship
和officer
。
表二是Ships
表,其中有船名。 表三是officers
表,其中有官员的名字。
SELECT ship_monthly_report.*,
ships.ship_name,
officers.officers_title,
officers.first_name,
officers.last_name
WHERE report_key = '" . $_POST["monthly_report_ID"] .
"LEFT JOIN Ships
ON Ship_Monthly_Report.Ship_ID = Ships.Ship_Primary_Key
LEFT JOIN Officers
ON Ship_Monthly_Report.Capt_ID = Officers.Officers_PK
ORDER BY report_line_number ASC
是我写的查询..它返回null。这是一个PHP脚本。
我想我问的是,我可以这样做吗?所有的字段都是正确的。我在屠杀查询还是我想做一些不可能的事情?
答
我想你的结构化查询的方式不正确,试试这个:
SELECT t1.*, t2.Ship_Name, t3.Officers_Title, t3.First_Name, t3.Last_Name
FROM Ship_Monthly_Report t1
LEFT OUTER JOIN Ships t2
ON t1.Ship_ID = t2.Ship_Primary_Key
LEFT OUTER JOIN Officers t3
ON t1.Capt_ID = t3.Officers_PK
WHERE t1.report_key = *[your POST value]*
ORDER BY t1.report_line_number ASC
一个与查询的问题是,哪里传来的JOIN之前。我希望这有助于!
+0
随着一点修改,我得到了这个工作。现在我需要将它反馈给PHP并希望它能够正常工作。 –
+0
工作很好。谢谢,我现在更好地理解语法。 –
你在屠杀它并打开自己注射。你可以添加PHP的使用?最好先编写查询,然后将其带入您的应用程序。 – chris85
它更多关于错误的SQL语法比关于注入 –
您的查询全部搞砸了。连接之后。 [SELECT reference](https://dev.mysql.com/doc/refman/5.7/en/select.html) – aynber