可以說我有一個名爲table1的表,它的相應列是col1,col2,col3和col4。分組IN語句sql
會是怎樣做的事相當於:
-- note that the following query will not work
SELECT *
FROM table1
WHERE col1, col2 IN (SELECT col1, col2
FROM table1
WHERE col3 < 4)
我一定要合併col1和COL2在我的數據庫,使這項工作?如果我合併col1和COL2到col1_2然後我就可以通過書面形式作出上述查詢工作:使用一個欄時
SELECT *
FROM table1
WHERE col1_2 IN (SELECT col1_2
FROM table1
WHERE col3 < 4)
IN子句工作正常。如果我可以在不需要修改數據庫的情況下將它用於多列,那將會很好。
也許是晚了,但是不是和'SELECT * FROM table1 WHERE col3
2011-06-15 02:47:00
不,它不完全一樣。設想兩行的簡單情況,具有相同的col1,col2值,但是row1具有col3 col4。在所需的情況下,兩行都會被返回。 –
2011-06-15 02:52:13