2009-01-18 77 views
1

舉個例子:如何查詢select生成的表格?

SELECT name, address, phone FROM USER; 

生成表

name | address | phone 
... | ... | ... 

如何使用產生再拍查詢到它這個表?

例如:

SELECT count(address) FROM (SELECT name, address, phone, from user); 

我知道這是不是最好的例子,但有什麼辦法做到這一點?

+0

你問如何在SQL中創建一個表?你想在你的數據庫中添加一個新表嗎?或者你想要一個內存表嗎? – EndangeredMassa 2009-01-18 18:36:28

+0

我想選擇的例子......從(SELECT ...還挺解釋了吧:) – fmsf 2009-01-18 18:37:36

回答

5

使用相同的語法,但給你的派生表的別名

SELECT count(subadd.address) 
FROM (SELECT name, address, phone, from user) as subadd; 
+0

可愛,這是少了什麼,謝謝:) – fmsf 2009-01-18 18:40:04

1

的最好方法是創建一個視圖:

 
CREATE VIEW my_view AS SELECT name, address, phone FROM USER; 

然後你就可以起訴它作爲一個表:

 
SELECT count(address) FROM my_view; 
0

您可以使用臨時表:

create temporary table t select name, address, phone; 
select count(address) from t; 

幾個特點:
- 該表將只由當前線程訪問,
- 噹噹前線程將完成該表將被丟棄
- 創建這樣的表需要appriopriate特權

0

我會避免使用臨時表。我可能會去創建一個視圖。但是,如果需要速度,我會運行一個解釋來查看更快的速度。