Mysql 选择特定列中具有相同值的所有项
我正在尝试获取与特定用户共享相同值的所有用户 例如TBL用户:Mysql 选择特定列中具有相同值的所有项,mysql,Mysql,我正在尝试获取与特定用户共享相同值的所有用户 例如TBL用户: id | user | color | value 1 Misha red 30 2 Kurt blue 249 3 Lars grey 30 4 Dave black 249 5 Steve orange 30 如果我想得到像Lars这样的用户,我应该得到:Misha、Steve和Lars。如果我想得到像Kurt这样的用户,我应该得到:Dave,K
id | user | color | value
1 Misha red 30
2 Kurt blue 249
3 Lars grey 30
4 Dave black 249
5 Steve orange 30
如果我想得到像Lars这样的用户,我应该得到:Misha、Steve和Lars。如果我想得到像Kurt这样的用户,我应该得到:Dave,Kurt
我发布了我得到的实际sql,它包括一个连接,我有一些语法错误
$sql = "SELECT DISTINCT(value) FROM users
WHERE value IN (SELECT value FROM users WHERE user = '{$user}')
INNER JOIN posts ON users.user = posts.user
ORDER BY posts.post_date DESC LIMIT {$start}, {$limit} ";
任何帮助都是感激的
SELECT
`user`
FROM your_table
WHERE value IN (SELECT value FROM your_table WHERE `user` = 'Lars');
编辑:
你需要交换线路
$sql = "SELECT DISTINCT(value) FROM users
INNER JOIN posts ON users.user = posts.user
WHERE value IN (SELECT value FROM users WHERE user = '{$user}')
ORDER BY posts.post_date DESC LIMIT {$start}, {$limit} ";
我想在你桌子的别名的帮助下会发生类似的事情
SELECT * FROM YOUR_TABLE YT WHERE YT.VALUE IN (SELECT VALUE FROM YOUR_TABLE);
如果mysql中不存在对应的DB2语法,您可以在其中查找对应的DB2语法 您尝试过什么吗?尝试以下操作:从您的_表YT中选择*,其中YT.VALUE位于从您的_表中选择值中;刚才编辑了我的问题,我有语法错误。刚刚在m,y查询中包含了你的答案,但我有sintax错误,必须是Join,你甚至可以在这里改为=因为子查询只返回一个值。也就是说,除非您的表中可以有多个“lar”。@MikeSpider编辑了我的答案以修复您的语法错误。