我在查询时遇到了一些问题。如果遇到情况,我想加入表格。这是我正在处理的查询。我对这些案例陈述有点陌生,所以非常感谢任何帮助!
SELECT
conversation.c_id,
conversation.user_one,
conversation.user_two,
users.name,
users.lastName
FROM `conversation`
CASE
WHEN conversation.user_one = 1
THEN
INNER JOIN `users`
ON conversation.two = users.id
WHEN conversation.user_two = 1
THEN
INNER JOIN `users`
ON conversation.user_one = users.id
END CASE
WHERE `user_one` = 1 OR `user_two` = 1
最佳答案
不要对整个内部连接进行大小写,只对连接中的“on”子句进行大小写。这应该有效(除非我有拼写错误):
SELECT
conversation.c_id,
conversation.user_one,
conversation.user_two,
users.name,
users.lastName
FROM `conversation`
INNER JOIN `users`
on
users.id =
CASE
WHEN conversation.user_one = 1
THEN conversation.two
WHEN conversation.user_two = 1
THEN conversation.user_one
END
WHERE `user_one` = 1 OR `user_two` = 1
您还可以通过对这些条件中的每一个进行左连接来实现类似的效果,然后在您的 select 语句中使用 case 语句来确定显示两个表中的哪一个的记录。
关于php - MySQL 加入案例语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25453762/