我有以下行。
+-----------+-----------+-----------+
| A_USER_ID | B_USER_ID | C_USER_ID |
+-----------+-----------+-----------+
| 4 | 1 | 2 |
+-----------+-----------+-----------+
我之所以拥有这种格式的数据,是因为我正在运行交叉连接以生成数据中的所有三元组。
我现在需要检索每个 ID 的用户详细信息。我正在寻找类似以下内容的内容。
SELECT * FROM USERS WHERE USER_ID IN ([existing-query])
我不确定该怎么做,因为 MySQL 没有轮换。
谢谢!
最佳答案
那么,您可以为此使用 exists
:
select u.*
from users u
where exists (select 1
from <existing query> q
where u.user_id in (q.a_user_id, q.b_user_id, q.c_user_id)
);
关于MySQL 使用单行作为 Where In,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48911203/