这是在 Oracle 上完成的,不确定您使用的是什么数据库,但希望这能给您一个想法。
CREATE TABLE article (article_type VARCHAR2(100), article_shade VARCHAR2(50), article_tool VARCHAR2(75));
INSERT INTO article VALUES ('A','Red','FF');
INSERT INTO article VALUES ('A','Orange','KK');
INSERT INTO article VALUES ('B','Red','FF');
COMMIT;
SELECT column_name
, val
FROM (
SELECT DISTINCT 'article_type' column_name
, Article_type val
FROM article
UNION ALL
SELECT DISTINCT 'article_shade' column_name
, Article_Shade val
FROM article
UNION ALL
SELECT DISTINCT 'article_tool' column_name
, Article_tool val
FROM article
) a
输出:
COLUMN_NAME VAL
1 article_type B
2 article_type A
3 article_shade Orange
4 article_shade Red
5 article_tool FF
6 article_tool KK
注意:
如果您尝试使用 3 个单独的列(例如,一列用于 article_type,一列用于 article_shade,以及一列用于 article_tool)来获取此结果,这是没有意义的,因为每一列可能有不同数量的不同值。