我正在尝试执行MySQL查询,这会导致每个WHERE子句都有不同的列。 就像他们的别名一样。 假设我有一个包含列和一些任意数据的表,例如字符串。
Id | Column1
0 | mango
1 | porcupine
2 | bear
...
我需要一个产生如下内容的查询:
animals | fruits
------------------------
0| porcupine |
1| bear | mango
如果可能的话。我已经尝试了JOIN-ing子查询,或UNION它们,但这只是覆盖了结果,这是不好的..
我将在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
但这不是我想要的。
答案 0 :(得分:0)
在表格上创建另一列( Column2 ),以确定第1列是水果还是动物,然后创建查询:
SELECT id, column1 AS [Animal] FROM TABLE
WHERE Column2 = "Animal"
UNION
SELECT ID, column1 AS [Fruit] FROM TABLE
WHERE Column2 = "Fruit"