我有以下列方式检索信息的图myview
的基团:显示字符串常量用于具有多个值
ID | ATTRNAME | ATTRVAL
1 | attr1 | a
2 | attr2 | b
3 | attr3 | c
4 | attr3 | d
.. | .. | ..
.. | .. | ..
我所需要的输出如下所示:
其中,如果有是属性(ATTRNAME)的单个值,应该显示它,并且如果属性有多个值(例如,attr3),则应该显示文本“多个值”。
我曾尝试:
SELECT DISTINCT attrname
, CASE cnt
WHEN 1 THEN TO_CHAR(attrval)
ELSE 'Multiple Values'
END AS attrval_rev
FROM myview
JOIN (SELECT attrname, COUNT(attrval) AS cnt
FROM myview
GROUP BY attrname) USING (attrname)
这工作,但它接管了8分钟执行的约11000行,这是不正确的一种解决方案。请帮忙!
应该显示字符串还是值c和d?可能这个问题是针对Rachcha的。 – Art 2013-04-26 17:23:48
@ gustavodidomenico-请不要改变任何东西。我认为我有点困惑,并没有看到Rachcha例子中的字符串。你的例子很完美。 – Art 2013-04-26 17:37:22
但它是错误的,我显示属性名称,而不是属性值:)。谢谢 – gustavodidomenico 2013-04-26 17:47:15