我现在可以通过以下方式查询外键/主键相等的两个表的连接。 $result = mysql_query("SELECT * FROM `table1` INNER JOIN `table2` ON table1.primaryKey=table2.table1Id"); 我想扩展到多个表(所有的外键相同)。 我正在尝试下面的代码不返回任何东西。 任何人都可以指出我做错了什么? $result = mysql_query("SELECT * FROM `table1` INNER JOIN `table2` INNER JOIN table3 ON table1.primaryKey=table2.table1Id=table3.table1Id");
我有一个users表和payments表,为每个用户,其中有付款,可能有多个关联付款的payments表。 我想select所有有付款的用户,但只select他们的最新付款。 我正在尝试这个SQL,但我从来没有尝试嵌套的SQL语句之前,所以我想知道我做错了什么。 感谢帮助 SELECT u.* FROM users AS u INNER JOIN ( SELECT p.* FROM payments AS p ORDER BY date DESC LIMIT 1 ) ON p.user_id = u.id WHERE u.package = 1
我试图在视图中join3个表格; 这里是情况: 我有一个表格,里面包含申请住在这所大学校园的学生的信息。 我有另外一张表,列出了每个学生的大厅首选项(其中3个)。 但是,这些偏好中的每一个都只是一个ID号,而ID号在第三个表中有一个对应的名字(没有devise这个数据库…)。 很多,我有他们的喜好,他们的信息内部join桌子上,结果是像… John Doe | 923423 | Incoming Student | 005 005将是HallID。 所以现在我想把HallID与第三个表相匹配,这个表包含一个HallID和HallName。 所以我非常希望我的结果像… John Doe | 923423 | Incoming Student | Foley Hall <—(INSTEAD OF 005) 编辑这里是我目前有 SELECT s.StudentID, s.FName, s.LName, s.Gender, s.BirthDate, s.Email, r.HallPref1, r.HallPref2, r.HallPref3 FROM dbo.StudentSignUp AS s INNER JOIN RoomSignUp.dbo.Incoming_Applications_Current AS r ON s.StudentID = r.StudentID […]