[英]how to find the difference between two rows in mysql
我有两个像下面这样的表,我需要找到两个表值之间的区别,它们的列名是否可能在mysql中?
桌子看起来像这样
表格1
id | ArtNo | Barcode | CArtNo | Description | SizeDesc
1 | O15040034 | 5704039086589 | 1235748 | Desc | 40X50cm
表2
id | ArtNo | Barcode | CArtNo | Description | SizeDesc
1 | O15040034 | 5704045086589 | 8759s89 | Desc | 40X50cm
我的密码
像往常一样,我将编写sql代码并获取列,条件是在mysql查询中是否有任何简单的方法可以达到期望的结果?
$sql = "select * from Table1 where ArtNo = 'O15040034'";
$fetch = mysql_fetch_array($sql);
if($artno != $artno){
//some condition here
}
除了这些疑问,我还有什么目标吗?
您可以使用以下两种方法从两个表中选择它们的任何列都不匹配的行(除了id
):
SELECT aa.id AS aa_id, aa.artNo AS aa_art_no, aa.Barcode AS aa_barcode, aa.CArtNo AS aa_cart_no,
aa.Description AS aa_description, aa.SizeDesc AS aa_size_desc,
bb.artNo AS bb_art_no, bb.Barcode AS bb_barcode, bb.CArtNo AS bb_cart_no,
bb.Description AS bb_description, bb.SizeDesc AS bb_size_desc
FROM Table1 AS aa, Table2 AS bb
WHERE aa.id = bb.id AND (
aa.artNo != bb.artNo OR aa.Barcode != bb.Barcode OR aa.CArtNo != bb.CArtNo
OR aa.Description != bb.Description OR aa.SizeDesc != bb.SizeDesc
)
另外,正如@Naruto所说,不要使用mysql_*
函数,因为它们已被弃用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.