SQL Left加入一对多

时间:2014-07-29 01:02:58

标签: php mysql

我一直潜伏着很长一段时间而且很惊讶我得到了多少答案而没有提出问题,但我还没有找到我正在寻找的答案。

问题是,我需要加入3个表。表1是项目的集合,是主表。表2是一个表格,显示表1中项目的条件,并将连接以查看值对应的内容(表1,列将是条件,值将为1,左边连接到表2将使值1为“新”)。表3列出了您拥有的项目,可以从0到无限,并采用表1 IND和左连接到表3“Table1IND”。

我的问题是我正在尝试从表1中返回具有相应表3条目(Table1.ind = Table3.Table1IND)的所有行但是这将为多个表3返回多个表1.这是一个(表1)对很多(表3)。我曾尝试使用(Table1.ind in(从表3中选择table1ind),但数据库非常大,这显示处理速度有些慢,没有什么大不了,但实现之后,可能会将时间加倍,5到10也许15秒。

小回信息,数据库是MySQL,加载数据的项目是PHP。

我感谢所有帮助,如果您还需要其他任何信息,请告诉我。

一个例子是:

select I.IND, T.Name as TName, I.Name as IName
from Items I
    left join Type T on I.Type = T.IND
    left join Own O on I.IND = O.ItemsIND and O.Username = 'removed this for other purposes'
where I.Name like '%%'
    and (O.IND is not null)
    and (T.TypeName = 'New')
order by T.Name, I.Name limit 100

0 个答案:

没有答案
相关问题