2012-04-21 92 views
-2

我正在嘗試執行MySQL查詢,這會導致每個WHERE子句的不同列。 就像他們的別名一樣。 假設我有一個包含列和一些任意數據的表格,例如字符串。SQL:where子句的不同結果列

Id | Column1 
0 | mango 
1 | porcupine 
2 | bear 
... 

我需要得到類似的查詢:

animals | fruits 
------------------------ 
0| porcupine | 
1| bear  | mango 

如果這甚至有可能。我試過加入子查詢或聯合他們,但只是覆蓋了結果,這是不好的..

我將在PHP中使用它,並檢查是否設置了別名列,所以我可以確定那一排就是這樣。 例如

if(isset($results[$i]["animals"])) echo "hey it's an animal, not an apple, feed it!"; 

編輯:...我想要一個查詢,將動物和水果放入結果中的不同列。我試過這個:

SELECT * FROM ( 
SELECT * FROM table 
    WHERE Column1 = 'porcupine') as porcupines 
JOIN (
SELECT * FROM table 
    WHERE Column1 = 'mango') as fruits 

但它不是我要找的。

+4

你如何從輸入數據中知道什麼是動物和什麼是水果? – 2012-04-21 02:39:52

+1

你怎麼知道'不是蘋果'與熊而不是與豪豬? – Lamak 2012-04-21 02:47:17

回答

0

你的桌子上創建另一列(列2),以確定是否列1是一種水果或動物,然後創建查詢:

SELECT id, column1 AS [Animal] FROM TABLE 
WHERE Column2 = "Animal" 
UNION 
SELECT ID, column1 AS [Fruit] FROM TABLE 
WHERE Column2 = "Fruit" 
+0

看,這是問題,我不能。我必須創建一個查詢,從一列中計算出來。我只能用信息證明查詢屬於哪個類別,那麼它應該在結果中將它們分類到不同的列中。我想知道這是否可能。 – tenshou 2012-05-24 12:36:19

相關問題