1

我正在尝试在 MySql 中编写一个查询,我想从一个选择语句中获得两个不同的结果集。例如,我有一个包含两列“名称和值”的表。请注意我不想使用多个表。我想要一张表的结果集。

Name  Value
A     W
B     X
C     W
A     Y
C     Z

当我运行 select 语句时,我想将结果显示为

我的结果集的第一个列表为:

Name
A
B
C

我的结果集的第二个列表为:

Value
W
X
Y
Z

我曾尝试使用 UNION DISTINCT 语句,但它并没有解决我的问题。

4

2 回答 2

1

如果两列具有相同的类型,您可以使用

select distinct name
from mytable
union all
select distinct value
from mytable

SQLFiddle

于 2013-03-31T13:29:16.617 回答
0

一种方法:

select distinct result,
      case result when 'name' then name else value end name_value
from (select 'name' result union select 'value') r
cross join mytable
于 2013-03-31T13:36:26.420 回答