2011-06-10 25 views
0

我想基於這兩個產品ID和類(低端,中端,高端)下表來查詢訪問的Sql查詢矩陣

Productid LowEnd MidRange HighEnd 

1   10%  15%   25% 

2   13%  18%   28% 

3   14%  19%   30% 

反正是有做到這一點,而無需手動創建newtable的? ,我可以通過編寫一個excel宏來創建一個新表格。我用交叉表來製作這樣的表格,我們可以撤消它們嗎?

編輯: 可以說,上面的表名是「矩陣」 我希望能夠做的查詢是SELECT * FROM矩陣WHERE((matrix.Productid = 1)和(列=「低端」)) 。我知道column = lowend在sql中是無效的所以...我想我將不得不使用多個查詢的聯合,這些查詢具有where caluse來標識正確的coulmn。

+0

你能告訴我們表格定義(創建語句),所以我們可以看到這些數據來自哪裏? – Hyperboreus 2011-06-10 05:23:13

+0

我將它從excel文件複製到訪問表中。沒有使用create語句。 – dasman 2011-06-10 05:26:51

+0

您能否提供一個當前無法針對此架構創建的查詢示例? – 2011-06-10 05:38:25

回答

0

我想我將不得不使用的 ,因爲他們在那裏 原因,以確定正確的列多個查詢的聯盟。

我想你提供了你自己的答案。限制是所有的行必須是相同的數據類型,或者至少數據類型可以相互隱式轉換。

SELECT Productid, LowEnd AS Value 
UNION 
SELECT Productid, MidRange AS Value 
UNION 
SELECT Productid, HighEnd AS Value 
+0

嗯我不知道SQL服務器和其他人有選擇根據以前的查詢結果選擇列? – dasman 2011-06-10 06:50:19