-2

我正在尝试执行 MySQL 查询,该查询会为每个 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

1 回答 1

0

在表上创建另一列 ( Column2 ) 以确定第 1 列是水果还是动物,然后创建查询:

SELECT id, column1 AS [Animal] FROM TABLE
WHERE Column2 = "Animal"
UNION
SELECT ID, column1 AS [Fruit] FROM TABLE
WHERE Column2 = "Fruit"
于 2012-05-24T10:10:25.663 回答