来自另一列的结果的 MySQL IN 运算符

标签 mysql

我有 2 张 table :

用户(uid、姓名、头衔) 标题(uid,名称)

用户:

uid |名称 |标题 1 大卫 2,4 约翰二书 5 3 简 4

标题:

uid |姓名 2 业主 4 首席执行官 5 经理

问题是我如何选择这样的东西:

从用户中选择 u.* 作为 u 将标题连接为 t ON t.uid IN (u.titles) 其中 t.uid=2

注意到IN(u.titles)了吗?它只获取 u.titles 字段中的第一个标题 uid。这意味着当我将条件更改为 WHERE t.uid=4 时,它不会显示任何记录。

有什么想法吗?

最佳答案

SELECT u.* 
FROM users as u
JOIN titles as t ON find_in_set(t.uid, u.titles) > 0
WHERE t.uid=2

关于来自另一列的结果的 MySQL IN 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28324629/

相关文章:

mysql - 为什么我的 mysql.sock 文件只有在重新启动后才出现?

php - 带有 CLI 脚本的 Codeigniter 站点

mysql - 将数据库中的所有表备份为 sql 文件

mysql - 如何将 rSyslog 连接到 SQL 数据库?

带有 "not exists"的 MySQL 查询花费的时间太长

php - 将多个返回的 MySQL 行添加到 PHP 中的同一数组键元素

mysql - Node.Js导出变量问题

mysql - COUNT 组的 mysql 总数

php - 如何一次更新 92 MySQL 行中的 2 列

MySQL 查询 WHERE x 并且如果设置 y