查询找出找到两个表的差异行的解决方案

时间:2015-03-28 16:03:36

标签: mysql

TableA (master data)       (Productcode, Rate)
TableB (Transaction data)  (Productcode, Rate, Qty)

我希望在销售时看到整行变速率(交易数据表B)

示例:

TableA(主数据)

Productcode        Rate 
1000               50      
2000               100    
3000               200    

TableB(交易数据)

Productcode        Rate 
1000               50      
2000               90   
3000               200    

预期结果:

表B

Productcode        Rate    
2000               90 

提前致谢

1 个答案:

答案 0 :(得分:0)

如果您希望具有相同ProductCode的行具有不同的费率,则需要这样:

SELECT * FROM TableB 
WHERE TableB.Rate <> (SELECT TableA.Rate FROM TableA WHERE TableA.ProductCode = TableB.ProductCode)

SELECT TableB* 
FROM TableB INNER JOIN TableA ON TableB.ProductCode = TableA.ProductCode
WHERE TableB.Rate <> TableA.Rate