我有以下查询:
SELECT DISTINCT(uniq)
FROM
(
SELECT sex AS uniq FROM type4
UNION
SELECT fason AS uniq FROM type4
UNION
SELECT color AS uniq FROM type4
UNION
SELECT size AS uniq FROM type4
) AS Temp
它几乎运行良好,它返回:
[uniq] => some unique value
是否有可能知道这个唯一值来自哪一列? 我的意思是这样的:
[uniq] => some unique value
[from] => size
我该怎么做?
最佳答案
您的原始查询不需要子查询或 DISTINCT
。你可以使用:
SELECT sex AS uniq FROM type4
UNION
SELECT fason FROM type4
UNION
SELECT color FROM type4
UNION
SELECT size FROM type4
现在对于你的问题,如果四列没有重叠值,你可以使用:
SELECT DISTINCT sex AS uniq
, 'sex' AS FromColumn
FROM type4
UNION ALL
SELECT DISTINCT fason
, 'fason'
FROM type4
UNION ALL
SELECT DISTINCT color
, 'color'
FROM type4
UNION ALL
SELECT DISTINCT size
, 'size'
FROM type4
关于php - 使用 DISTINCT 和 UNION 在 SQL 查询中获取字段名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8423403/