条件SQL报告

时间:2015-07-14 15:36:04

标签: mysql

假设我有一个包含以下内容的表:

Serial#  ColorCount   BWCount
==============================
12345            23        56
80023             0       459
22903             1       999

我希望生成一个类似于以下内容的报告:

SN     Description    Value
==============================
12345  "BWCount"      56
12345  "ColourCount"  23
80023  "BWCount"      459
22903  "BWCount"      999
22903  "ColourCount"  1

这样......

  1. BWCount和ColourCount值输出为不同的行,
  2. 如果设备的ColourCount值(SN)为零,则不输出
  3. 原始SQL是否可以实现这一点?如果是,请告诉我如何或指出我正确的方向。我已经完成了一些MySQL的工作,但只有一些简单的查询。这是我以前从未见过的事情。

1 个答案:

答案 0 :(得分:2)

您可以UNION两个查询来返回所需的数据,例如:

SELECT Serial, 'BWCount' AS description, BWCount AS value
FROM serial 
UNION
SELECT Serial, 'ColourCount' AS description, ColourCount AS value
FROM serial 
WHERE ColourCount > 0

演示:http://sqlfiddle.com/#!9/f97b6/3