0

我还是 SQL 的新手,想知道从同一个表的两个不同列中获取不同类别名称的最佳选择是什么。

例子:

Table Name: Fruits

ID          CAT1           CAT2
1           APPLE          PEACH
2           PEACH          GRAPE
3           APPLE          GRAPE
4           ORANGE         APPLE
5           PEACH          PEAR

期望的输出

Distinct CAT
APPLE
PEACH
GRAPE
ORANGE
PEAR

我知道我想做一个连接,我将每个表命名为一个像 fruits a 和 fruits b 这样的字母,所以我通过 ID 匹配它,但我不知道如何在一个列中仅显示两列中不同的 CAT。

4

2 回答 2

3

您可以分别查询两列的不同值和 UNION(例如MySQL 文档)结果:

(SELECT DISTINCT CAT1 FROM Fruits)
UNION
(SELECT DISTINCT CAT2 FROM Fruits)
于 2013-10-03T19:44:02.580 回答
1

如果你很少玩它,你就会得到这个。

Select distinct cat from ( (Select cat1 as cat from fruits) union all (Select cat2 as cat from fruits)) q

于 2013-10-03T19:48:19.473 回答