从具有主键和外键关系的两个表中获取多个记录

时间:2014-02-27 06:49:12

标签: mysql

![在此处输入图片说明] [1]在第一张表tblserialnumbersprimary中,我有一个名为serialNoId的主要字段,此字段在第二个表tblserialnumbers中重复多次。当我们用serialNoId插入多个记录时。 我希望得到第一个表中的不同记录,即tblserialnumbersprimary和来自依赖表的相应多个记录,即MySQL中的tblserialnumbers

第一个表字段是:

tblserialnumbersprimary (serialNoId,serialPO,serialProductNo,
SerialNumberMode,serialNoAutoPrefix,serialDateOfCreation,
serialModifiedBy,serialStatus)

第二个表字段是:

tblserialnumbers(serialId,serialNoId,
serialNo,serialNoBatchId![enter image description here][1])

我尝试使用此连接查询。但它给出了第一个表的多个记录

select * FROM   tblserialnumbersprimary
LEFT OUTER JOIN tblserialnumbers
ON (tblserialnumbersprimary. serialNoId = tblserialnumbers.serialNoId )

第一个表值是:

 serialNoId serialPO    serialProductNo SerialNumberMode    serialNoAutoPrefix  serialDateOfCreation    serialModifiedBy    serialStatus
1   PO1 PROD121 Automatic   TCS-03  2/25/2014 12:00:00 AM   admin   0
2   PO2 PROD345 Automatic   TCS-03  2/25/2014 12:00:00 AM   admin   1 
3   PO5 PROD816 Automatic       2/26/2014 12:00:00 AM   admin   1
4   PO1 PROD121 Automatic   GTS-03  2/26/2014 12:00:00 AM   admin   1

第二表值为:

serialId serialNoId serialNo    serialNoBatchId
1   1        TCS-03-PROD121-1   batch1
2   1        TCS-03-PROD121-2   
3   1        TCS-03-PROD121-3   batch3
4   1        TCS-03-PROD121-4   
5   1        100    
6   1        101    
1   2        TCS-03-PROD345-1   batch1
2   2        TCS-03-PROD345-2   
3   2        TCS-03-PROD345-3   batch3
4   2        TCS-03-PROD345-4   
1   3        --1    
2   3        --2    
3   3        --3    
4   3        --4    
5   3         12    
6   3         13    
7   3         11    
1   4      -PROD816-1       batch1
2   4      -PROD816-2           batch2
1   5       GTS-03-PROD121-1    batch1
2   5       GTS-03-PROD121-2    
3   5       GTS-03-PROD121-3    batch3
4   5       GTS-03-PROD121-4    

1 个答案:

答案 0 :(得分:0)

使用别名并加入多个表中的记录。

 For i.e. `SELECT table2.id, 
              table1.pid, 
              table1.color, 
              table2.pname, 
              table2.image 
           FROM   tbl_productcolor table1 
               JOIN tbl_product table2 ON table1.pid = table2.id;`

以这种方式应用您的表格,您可以获得所有数据。