如果我做了SELECT a b和b不是表中的列,會查詢創建「虛擬」列嗎?如何使用MySQL SELECT創建虛擬列?
實際上,我需要在查詢中包含一些虛擬列,並將一些信息處理到查詢中,以便稍後在每個項目中使用它。
如果我做了SELECT a b和b不是表中的列,會查詢創建「虛擬」列嗎?如何使用MySQL SELECT創建虛擬列?
實際上,我需要在查詢中包含一些虛擬列,並將一些信息處理到查詢中,以便稍後在每個項目中使用它。
像
SELECT id, email, IF(actived = 1, 'enabled', 'disabled') AS account_status
FROM users
這讓你做出操作並顯示爲列。
編輯:
你也可以使用連接和顯示operaitons爲列:
SELECT u.id, e.email, IF(c.id IS NULL, 'no selected', c.name) as country
FROM users u LEFT JOIN countries c ON u.country_id = c.id
選擇只從數據庫中檢索數據時,它不會更改表本身。
如果你寫
SELECT a AS b FROM x
「B」 只是在查詢的別名。它不會創建額外的列。您在示例中的結果將只包含一個名爲「b」的列。但是表中的列將保持「a」。 「b」只是另一個名字。
我真的不明白你的意思,所以我可以在以後的每個項目中使用它。你的意思是稍後在選擇聲明或更高版本的應用程序中。也許你可以提供一些示例代碼。
您的語法會爲a創建別名,但它不會超出語句結果的範圍。這聽起來像你可能要創建,如果你想創建一個SELECT語句中的虛擬列「年齡」一VIEW
試試這個:
select brand, name, "10" as age from cars...
您可以添加虛擬列作爲
SELECT '1' as temp
但是,如果您試圖將附加生成列的條件放在哪裏,它將無法正常工作,並且會顯示錯誤消息,因爲該列不存在。
我們可以返回SQL結果作爲table.ie解決這個問題,
SELECT tb.* from (SELECT 1 as temp) as tb WHERE tb.temp = 1
我讀過這個問題了幾次,一定有我丟失的東西。你能否澄清一下你正在尋找什麼? – 2009-01-18 15:01:19
將該查詢設想爲行和列的數組。通常,我只是通過簡單的SELECT * FROM繼承表結構中的列,但現在,我需要將自己的列插入它。 – Skuta 2009-01-18 15:05:35
也許你應該採取_one_看看文檔.. – hop 2009-01-18 15:07:15