我有一个业务表,每个业务最多可以有3个电话号码。我想查找任何重复的电话号码,但由于电话号码在不同的列中,我认为无法使经典的分组依据
查询工作。
示例数据:
在本例中,我希望将记录1、2和3标识为相同。简单地将电话号码555-551-5555标识为一个重复的号码就可以了,因为我可以做一个子查询,或者呼叫程序可以使用该电话号码并发送一个新的查询,获得3个电话列中任何一个列中的所有记录555-551-5555。
如果重要的话,这是在MariaDB上。
编辑,(添加我当前的flaying尝试,因为有人似乎真的想要它):
我现在有的是:
SELECT ID, phone_main, phone_mobile, phone_tollfree
(
SELECT COUNT(*) FROM businesses b
WHERE (
phone IS NOT NULL AND (b.phone_mobile=phone OR b.tollfree=phone )
)
OR (
phone_mobile IS NOT NULL AND (b.phone=phone_mobile OR b.phone_tollfree=phone_mobile)
)
OR (
phone_tollfree IS NOT NULL AND (b.phone=phone_tollfree OR b.phone_mobile=phone_tollfree)
)
) cnt
from business HAVING cnt > 1
这方面的问题:
例如:
SELECT DISTINCT x.*
FROM my_table x
JOIN my_table y
ON y.id <> x.id
AND
( y.phone_main IN(x.phone_main,x.phone_mobile,x.phone_tollfree)
OR y.phone_mobile IN(x.phone_main,x.phone_mobile,x.phone_tollfree)
OR y.phone_tollfree IN(x.phone_main,x.phone_mobile,x.phone_tollfree)
);
问题内容: 该主题的解决方案使我不知所措。 我有一个看起来像的表格(除与我的问题无关的其他字段之外): 名称,卡号,会员类型 现在,我想要一个显示卡号和成员类型相同的行的视图。这两个字段都是整数。名称为VARCHAR。名称不是唯一的,并且相同的名称也应显示重复的卡号,会员类型。 即,如果下表是表格: 我想要: 只需按卡号排序即可使其对人类有用。 最有效的方法是什么? 问题答案: 由于您提到的名称可
我有一个表格结构 如何使用条件?我尝试使用这个,但结果是
问题内容: 想要改善这篇文章吗? 提供此问题的详细答案,包括引文和为什么答案正确的解释。答案不够详细的答案可能会被编辑或删除。 这个问题已经在这里有了答案 : 检索每个组中的最后一个记录-MySQL (27个答案) 去年关闭。 我有此表用于文档(此处为简化版): 如何为每个ID选择一行,而仅选择最大转速? 根据上述数据,结果应包含两行:和。我正在使用 MySQL 。 目前,我在循环中使用检查来检测
问题内容: 在SQL中,将行复制到另一个(备份)表中。如果备份表具有不同的结构(或不同的列名称),这可能吗?如果没有,实现此目标的最佳方法是什么? 这是我想做的:具有columns 。我想将一些行从该表复制到另一个具有column的表。内容进入,对等 问题答案: 该 列名 不事可言,只要该 数据类型 相匹配。 如果列的数据类型不匹配,请尝试相应地强制转换值。 只需尝试 使用小的虚拟表。确保明确列出
问题内容: 我的表是: 我想列出一组具有相同疾病的患者。pid和did分别是患者和疾病表中的主键,并且是has_disease表中的外键。 样本数据: 耐心 疾病 has_disease 以上数据的答案是因为它们具有完全相同的疾病1和3,即疟疾和病毒热。我想知道如何在mysql中实现这一点。 。 问题答案: 该查询返回给我们患者及其疾病。 通过完整的剂量列表比较2组患者,并将pid保留为相同的剂量
我想要,我的光标移动到下一个具有不同内容的单元格,我想要光标跳过所有已经存在值的单元格。 例如,我们有列:啤酒,汽车,汽车,房子,啤酒,树(KEY_AREA) 光标应选择:Beer、Car、House、Tree和skip 1 Car和1 Beer。