我有3张桌子。
Table A
a_id, a_name, a_description, b_id
Table B
b_id, b_name, c_id
Table C
c_id, c_name (c_name is unique hence no duplicates)
表" A"有一个外键' b_id'表" B"。表" B"有外键' c_id'表C
我想要所有表格的行和#34; A"(否其中的子句)。每行都有' b_id'所以我还需要表格" B"中的那个forign键的行细节。并且' c_id'的行详细信息太
您能帮助我在高效的单一查询中实现这一点吗?我使用三个单独的查询并在PHP中合并结果。代码看起来很复杂我知道有更简单有效的方法,因为我刚刚启动了mysql。
我正在制作获取所有这些数据并发送到我的应用程序的API。
编辑:
我最终合并了数组结果。
我需要的结果是表A中的*列,' b_name'来自表B和' c_name'来自表C.
答案 0 :(得分:0)
使用JOIN
,例如:
SELECT A.a_id, B.b_id, C.c_id FROM A JOIN B ON A.b_id = B.b_id JOIN C ON B.c_id = C.c_id
答案 1 :(得分:0)
如果我没错,那么这可能会对你有所帮助。在这里,您需要使用join
Select A.*,B.b_name as b_name,C.c_name as c_name from A left join B on A.b_id = B.b_id left join C on B.c_id = C.c_id