mysql SELECT IN后跟逗号分隔字段

mysql SELECT IN后跟逗号分隔字段,第1张

概述我使用mySQL,我有一个成员表,其中包含一个BLOB'contacts'字段,其中包含逗号分隔的其他成员ID列表:TABLE members: id_member = 1 firstname = 'John' contacts (BLOB) = '4,6,7,2,5' 我想通过一个查询检索个人“联系人”列表中的所有名字.我尝试了以下方法:SELECT fi

我使用MysqL,我有一个成员表,其中包含一个BLOB’contacts’字段,其中包含逗号分隔的其他成员ID列表:

table members:ID_member = 1firstname = 'John'contacts (BLOB) = '4,6,7,2,5'

我想通过一个查询检索个人“联系人”列表中的所有名字.我尝试了以下方法:

SELECT firstname from members WHERE ID_member IN ( SELECT contacts FROM members WHERE ID_member = 1 );

它只返回一行,但是当我尝试时:

SELECT firstname from members WHERE ID_member IN ( 4,5 );

它返回列表中的所有名字.我可以使用两个查询来实现这一点,但我想我会仔细检查是否有办法让它与一个简单,优雅的查询一起工作.

感谢阅读,任何帮助表示赞赏.
七月最佳答案你能改变这个数据库结构吗? contacts字段确实应该是一个相关的表而不是列.假设具有此结构的联系人表:

ID_contactID_member

然后你会使用EXISTS代替:

SELECT firstname from members m WHERE EXISTS (SELECT 1 FROM contacts c WHERE c.ID_contact = m.ID_member );
总结

以上是内存溢出为你收集整理的mysql SELECT IN后跟逗号分隔字段全部内容,希望文章能够帮你解决mysql SELECT IN后跟逗号分隔字段所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1167053.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存