2013-07-30 75 views
2

請別人幫助我,我需要讓我列的第二個表的值下面是我的結構和所期望的結果:獲取歷史次MySQL表列設置

表1

sysId Fname  Sname   
1001 Martin  Mundia   
1002 Njoroge  William   
1003 Wainaina Tim   
1004 Joel  Kinuthia   

表2

id Item cost sysId  
1 Shoes 100  1001  
2 Shirt 200  1001  
3 Trouser 150  1001  
4 Socks 300  1002  
5 Jacket 500  1002  

期望的結果

1001 Martin Mundia Shoes(100) Shirt(200) Trouser(150) 
1002 Njoroge William Socks(300) Jacket(500) 

回答

2

試試這個:

SELECT t1.fname, t1.sname, group_concat(t2.item ,t2.cost) 
FROM table1 T1 
JOIN table2 T2 
ON T1.sysid = T2.sysid 
GROUP BY T1.sysid, t1.fname, t1.sname, 
0

嘗試此查詢: -

選擇a.sysId,a.fname,a.sname,GROUP_CONCAT(b.item,'( ',b.cost,')') from table1 a.sysId上的左外連接表2b b.sysId by a.sysId asc group by a.sysid,a.fname,a.sname;

group_concatgroup_concat瞭解更多。

希望它能幫助你。

0

試試這個。

select table1.sys_id,table1.fname,table1.sname,group_concat(table2.item,table2.cost) 
from table1 inner join table2 
on table1.sysId=table2.sysId 
group by tabl1.sysId,tabl1.fname,tabl1.sname; 

感謝

+0

謝謝你這麼多的.Tested所有響應(喬,JDeveloper中,user2622406),發現下面是好的,因爲我還需要空對那些沒有的項目......從a.Id = b.sysId組中的左外部聯接項b中選擇a.Id,a.fname,a.sname,group_concat(b.item,'(',b.cost,')') .id,a.fname,a.sname order by a.Id asc –

+0

歡迎並接受未來讀物最受歡迎的答案。謝謝。 – maXfenda