-1
我有SQL结果看起来像这样的Oracle 11g - 拆分成列行
ID | ERROR_1 | ERROR_2
1 | '1' | '2'
2 | null | '2'
3 | '1' | '2'
4 | '1' | null
,我想分裂每个ERROR_X
行导致这样的:
ID | ERROR
1 | '1'
1 | '2'
2 | '2'
3 | '1'
3 | '2'
4 | '1'
这可能吗?如果是,我该怎么办?
查询与此类似:
SELECT h.id as ID,
CASE WHEN h.floor=1 THEN '1' END as ERROR_1,
CASE WHEN w.color='blue' THEN '2' END as ERROR_2,
FROM home h
LEFT JOIN window w ON w.id=h.window_id;
目前我使用工会,但此查询的成本是巨大的(每个查询需要从表其中ID为字符串类型选择数据,做一些连接和过滤数据)。我想尝试只用一次字符串ID查询主表。
查看我的编辑。目前我使用UNION,但是这个代价太大了。 – pepuch 2014-09-29 07:16:32