選擇從數據庫的東西,我們可以使用:Mysql的從一個陣列中選擇
SELECT * FROM tableName where name="Ed"
但是如果我需要從一個給定的數組中選擇的東西,如:
SELECT * FROM ("Bob","Sam","Ed") where name="Ed"
是它可能?
選擇從數據庫的東西,我們可以使用:Mysql的從一個陣列中選擇
SELECT * FROM tableName where name="Ed"
但是如果我需要從一個給定的數組中選擇的東西,如:
SELECT * FROM ("Bob","Sam","Ed") where name="Ed"
是它可能?
是的,它是可能的:
http://sqlfiddle.com/#!9/9eecb7d/64737
SELECT t.* FROM
(SELECT "Bob" name UNION SELECT "Sam" UNION SELECT "Ed") t
WHERE t.name="Ed"
但它幾乎沒有任何意義。因爲如果你將所有的數據爲常量靜態值,你可以:
SELECT "Ed"
沒有理由甚至打電話給mysql的:-)
在OP的例子中,沒有任何意義。但是,如果需要調用某些MySQL函數。我真的很感激,如果我能做到這一點:'選擇FROM_UNIXTIME(FooTable.Time)FROM(SELECT( '1428384605', '1429657398', '1429686889')的時間)FooTable' –
@LionetChen但你有沒有'WHERE時間='1429686889''在結束? ;-) – Alex
我沒有那個過濾器:P因此我說「在OP的情況下」。我知道我可以通過Excel實現轉換,但是我在SQL查詢編輯器中,並且懶得打開Excel來輸入這些公式。 –
您可以
SELECT * FROM (
select "Bob" as name
from dual
union
select "Sam" as name
from dual
union
select "Ed"as name
from dual) as t
where t.name="Ed";
試試看你能假的了一個寓言,'select * from(select'bob'union select'sam'union ....)as foo' –