Mysql加入Query

时间:2013-12-26 10:49:52

标签: mysql database

我正在研究一个项目,因为我有三个不同的表,如查询和快照中所示,我遇到了问题。  我尝试执行以下查询并粘贴查询结果

查询

 select 
m.id,b.paybandname,m.payheadid,h.payheadname,m.basedon,find_in_set(h.id,m.basedon) as 
basedonone,m.amount,m.type from tblpay_paybandsystem b
 left join tblpay_payheadmapping m on b.id = m.paybandid
 left join tblpay_payheads h on m.payheadid = h.id

结果

enter image description here

我想要的是基于列我想要payheadname例如在第三行我们有6个基于列,但我想要payheadname为id = 6的“Basic” 现在我粘贴上面查询中使用的表格的快照

tblpay_paybandsystem

enter image description here

tblpay_payheads

enter image description here

tblpay_payheadmapping

enter image description here

1 个答案:

答案 0 :(得分:0)

这应该做(未经测试):

select 
m.id,b.paybandname,m.payheadid,h.payheadname,h2.payheadname,find_in_set(h.id,m.basedon) as 
basedonone,m.amount,m.type from tblpay_paybandsystem b
 left join tblpay_payheadmapping m on b.id = m.paybandid
 left join tblpay_payheads h on m.payheadid = h.id 
 left join tblpay_payheads h2 on m.basedon = h2.id