我试图让所有与特定用户共享相同价值的用户。
例如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,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} ";
任何帮助都会感激不尽。
答案 0 :(得分:3)
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} ";
答案 1 :(得分:0)
在你的桌子别名的帮助下,我认为这样的事情。
SELECT * FROM YOUR_TABLE YT WHERE YT.VALUE IN (SELECT VALUE FROM YOUR_TABLE);
如果它不存在,你可以在mysql中寻找IN对应的DB2语法。