加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

mysql SELECT IN后跟逗号分隔字段

发布时间:2021-04-07 02:46:57 所属栏目:编程 来源:网络整理
导读:我行使mySQL,我有一个成员表,个中包括一个BLOBcontacts字段,个中包括逗号脱离的其他成员ID列表: TABLE members:id_member = 1firstname = 'John'contacts (BLOB) = '4,6,7,2,5' 我想通过一个查询检索小我私人“接洽人”列表中的全部名字.我实行了以下要领: SEL

我行使mySQL,我有一个成员表,个中包括一个BLOB’contacts’字段,个中包括逗号脱离的其他成员ID列表:

TABLE members:
id_member = 1
firstname = '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_contact
id_member

然后你会行使EXISTS取代:

SELECT firstname from members m WHERE EXISTS (SELECT 1 FROM contacts c WHERE c.id_contact = m.id_member );

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读