我有一个包含 3 个电话列的表,我需要运行一些魔术来尝试获取一些电话号码可以在它们之间匹配的记录,问题是电话号码可能在 2 个记录之间的不同字段上。
所以我认为带有 3 个电话号码的规范字符串应该允许我进行比较,问题在于规范化过程。有没有办法做到这一点?我正在添加一个片段来说明我需要做什么。
表是:
╔═════╦══════════╦══════════╦══════════╗
║ ID ║ Phone1 ║ Phone2 ║ Phone3 ║
╠═════╬══════════╬══════════╬══════════╣
║ 123 ║ 555-1234 ║ 666-1235 ║ ║
║ 124 ║ 666-1235 ║ ║ 555-1234 ║
║ 125 ║ 555-8520 ║ 777-7410 ║ 444-9999 ║
╚═════╩══════════╩══════════╩══════════╝
我要寻找的结果是
╔═════╦══════════════════════════════╗
║ ID ║ ConcatPhones ║
╠═════╬══════════════════════════════╣
║ 123 ║ 555-1234||666-1235 ║
║ 124 ║ 555-1234||666-1235 ║
║ 125 ║ 444-9999||555-8520||777-7410 ║
╚═════╩══════════════════════════════╝
无论如何,我可以通过简单的 CONCAT_WS 变体或高效的存储过程来做到这一点吗?