使用组_concat()在中使用mysql仅显示寄存器中存在的值
我有两个表使用组_concat()在中使用mysql仅显示寄存器中存在的值,mysql,group-concat,Mysql,Group Concat,我有两个表incomming\u sms和subscribers\u register,它们存储了所有的客户号码。表incomming\u sms包含了来自很多号码的大量数据,但我只想按我的订阅者选择消息 我尝试使用此查询仅显示来自订阅者的消息,但返回0结果 SELECT dest_msisdn, text_message FROM incoming_sms where dest_msisdn in (SELECT GROUP_CONCAT(msisdn) FROM subscribers_r
incomming\u sms
和subscribers\u register
,它们存储了所有的客户号码。表incomming\u sms
包含了来自很多号码的大量数据,但我只想按我的订阅者选择消息
我尝试使用此查询仅显示来自订阅者的消息,但返回0
结果
SELECT dest_msisdn, text_message FROM incoming_sms where dest_msisdn in (SELECT GROUP_CONCAT(msisdn) FROM subscribers_register);
为什么我会得到
0
结果?请查看组的帮助。它将返回所有msisdn的长字符串,而不是所有msisdn的列表
你可以这样做:
SELECT
dest_msisdn,
text_message
FROM incoming_sms
WHERE dest_msisdn in
(SELECT msisdn FROM subscribers_register)
。。。或者,您可能会发现内部联接的执行速度更快:
SELECT
dest_msisdn,
text_message
FROM incoming_sms
INNER JOIN subscribers_register
ON incoming_sms.dest_msisdn = subscribers_register.msisdn