我想知道是否可以对mysql端(来自查询)进行检查,以查看是否有两个不同的唯一ID,其中一些列匹配。已经在php中解决了它,但我希望尽可能简化它。
结构说是这个
product | attribute_1 | attribute_2 | attribute_3
-------------------------------------------------
1 10 20 30
2 10 20 31
3 10 20 30
因此1-3
将返回true,而1-2
或1-3
答案 0 :(得分:1)
SELECT atribute_1, atribute_2, atribute_3, count(*) as `Count of duplicated rows`
FROM YOUR_TABLE group by atribute_1, atribute_2, atribute_3
答案 1 :(得分:1)
你可以这样做:
SELECT
(SELECT attribute1, attribute2, attribute3 FROM t WHERE product=$id1)
=
(SELECT attribute1, attribute2, attribute3 FROM t WHERE product=$id2)
-i.e。检查关于平等的元组。例如,您的$id1
和$id2
来自应用程序。
答案 2 :(得分:0)
你也可以使用它:
select exists (
select 1 from TableName t1, TableName t2
where
t1.`Attribute_1` = t2.`Attribute_1` and
t1.`Attribute_2` = t2.`Attribute_2` and
t1.`Attribute_3` = t2.`Attribute_3` and
t1.`Product` = $id1 and
t2.`Product` = $id2
)