M.V. M.V. - 4 months ago 8
SQL Question

Difference between 2 selects in SQL

I have one data table:

--------------------
ID | user | Value
--------------------
1 | 1 | 1
--------------------
2 | 1 | 2
--------------------
3 | 2 | 3
--------------------
4 | 2 | 2
--------------------
5 | 3 | 4
--------------------
6 | 3 | 2
--------------------


I would like to SELECT all rows where value is different comparing to user 1 so the result would be rows with IDs 3 (value is 3) and 5 (value is 2)

I would do something like this (will call it A)

SELECT * FROM table WHERE user = 1


and get all the rows from user 1. Than I would select (will call it B)

SELECT * FROM table WHERE user != 1


and get all other rows. And than I would compare them
WHERE A.value != B.value
.

I'm stuck on how to merge everything together...

Please help!

Answer

Try this:

SELECT * 
FROM table
WHERE value NOT IN ( SELECT value FROM table WHERE user = 1)