mysql连接到许多表,同时包括一个主表

时间:2013-01-04 21:45:16

标签: php mysql optimization

我遇到了麻烦,因为主表没有我试图搜索的外键。相反,辅助表具有我正在搜索的密钥。这意味着我必须逐个表地在数组中构建我的信息,并将每个数据与主表连接以查找数据。

交易是主要表格。存款加入交易,然后我从交易表中获得存款信息。然后对付款,发票等进行同样的操作。这似乎是一种不太理想的设计方式,或者我可能错过了一些东西。

我希望有一种更好的方法可以一次性加入表格,而不是将它们全部加入工会联盟。

所以目前我说

select * from transactions T left join deposits D on T.id = D.tID where D.account = '123' 
union 
select * from transactions T left join invoices I on T.id = I.tID where I.account = '123'
union....

有什么更好的建议吗?谢谢!

1 个答案:

答案 0 :(得分:1)

我认为这应该做的工作

 select * from transactions T 
 left join deposits D on T.id = D.tID and D.account = '123' 
 left join invoices I on T.id = I.tID and I.account = '123'
 .....