子查詢是否可以將兩個值返回到外部查詢? 如:子查詢有可能返回兩個值嗎?
SELECT 1,
(SELECT COUNT(*), MAX(*) FROM test_table WHERE test=123)
FROM another_table
還是有更好的方式來做到這一點?
子查詢是否可以將兩個值返回到外部查詢? 如:子查詢有可能返回兩個值嗎?
SELECT 1,
(SELECT COUNT(*), MAX(*) FROM test_table WHERE test=123)
FROM another_table
還是有更好的方式來做到這一點?
如果使用FROM
子句中的子查詢而不是字段列表,則可以將輸出視爲表格並引用單獨的列。
你只是選擇數字作爲結果,因此不能你只是做:
SELECT 1, COUNT(*), MAX(*) FROM test_table WHERE test=123
它們是兩個不同的表格:\ – 2010-12-20 00:38:58
不可能
mysql> select 1, (select 2, 3) from dual;
ERROR 1241 (21000): Operand should contain 1 column(s)
如果您正在處理兩個表,你什麼結果在一行,你應該預先加入。
嗯,這取決於你想要怎麼處理數據,你可以使用JOIN
語法連接兩個表,其中一個表實際上可以是子查詢。我認爲這可能是你想要的。
我甚至沒有用戶你目前的查詢會做..
如果Another_Table有20行,你會得到20行包含相同數據的輸出,除非列'test'只存在於Another_Table中,而不存在於Test_Table中(在這種情況下,它是寫入限制的有趣方式(這是'meiosis'的一個相當極端的例子)。 – 2010-12-20 01:08:16