mysql - 从表中选择列值不等于 'myvalue' 的列

标签 mysql multiple-columns

我有一个非常关键的代码。我试图从一个表的两列中选择与另一表的一列中的记录匹配的所有记录。 这是我到目前为止的结果

SELECT username FROM users 
WHERE username NOT IN (SELECT friend FROM friends WHERE friend = 'user1') 
AND username NOT IN (SELECT you FROM friends WHERE you = 'user1')

live demo

这不可能是正确的... 我希望列 [username] 中与表 {friends} 中的 [you] 和 [friend] 列中的“user1”不匹配的记录成为该 sql 选择的结果。 请参阅演示以获取更多理解。 感谢您的帮助。

问题已解决,希望对其他人有帮助

SELECT username,you,friend FROM users, friends 
WHERE you IN (SELECT you FROM friends WHERE you != 'user1') 
AND friend IN (SELECT friend FROM friends WHERE friend != 'user1')
AND username IN (you,friend)

这是一个 Live demo

最佳答案

我们现在可以通过两种方式来解释您想要的内容。

选项1 - 这正是我认为您所要求的,但不是我认为您想要的。

SELECT username FROM users u, friends f
WHERE username = f.friend and f.friend <> 'user1'
union
SELECT username FROM users u, friends f
WHERE username = f.you and f.you <> 'user1'

选项2 - 这就是我认为你想要的。请参阅how to translate it to mysql. 从用户 u、 friend f 中选择用户名 WHERE 用户名 = f.friend 和 f.friend <> 'user1' 相交 从用户 u、 friend f 中选择用户名 WHERE 用户名 = f.you 和 f.you <> 'user1'

关于mysql - 从表中选择列值不等于 'myvalue' 的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19469869/

相关文章:

javascript - 如何防止 foreach 复制 HTML 表数组中的条目

python-3.x - 根据其他两列的分组值获取均值列

r - 在同一 R Markdown 页面中将部分从两列更改为一列

MySQL:如何为列的每个值保留前 1000 行

MySQL 日期差异查询

CSS 动态两列布局

python - 在 HappyBase 中使用多列过滤器

python - Pandas :依赖于另一个值的列

未定义函数 hash_equals() 的 PHP 调用

php - 如何使用 PHP 将任何图像转换为位图图像并存储在 MySQL 数据库中?