有没有更好的方法来写这个呢?
Select *
From PokerClasses, TendonClasses, CornhillClasses Join ClassesCodes Using (ClassCode)
Where ClassName = 'Zumba;
答案 0 :(得分:0)
您需要将前两个表连接在一起,然后使用从前两个表创建的新表将第三个表连接起来。
SELECT t1.col, t3.col FROM table1 join table2 ON table1.primarykey = table2.foreignkey
join table3 ON table2.primarykey = table3.foreignkey
了解详情:http://javarevisited.blogspot.com/2012/11/how-to-join-three-tables-in-sql-query-mysql-sqlserver.html
我把这个快速地拼凑起来以便更多地解释这个概念,但是你想要更改这些字段以便它们适合你的数据库。
SELECT TC.id, TC.day, PC.id, PC.day
FROM tendonclasses TC
JOIN classescodes CC ON TC.class = CC.classID
JOIN pokerclasses PC ON PC.class = CC.classID
WHERE CC.ClassName = 'Zumba';
^如果您在运行此字段时想要获取所有字段,或者将*与要从各个表中检索的特定字段名称交换出来,则可以使用SELECT *。然后你可以从那里回应结果。如果您不打算使用结果中的所有字段,那么使用SELECT *不是一个好主意,而只是您需要的字段。