【发布时间】:2012-03-27 11:15:46
【问题描述】:
我有这样的看法
id name characteristic value isList
1 cube sides 6 0
1 cube color blue 0
2 triangle sides 3 0
3 hexagon (null) (null) (null)
4 rectangle weight 15 0
我需要选择所有 ID 和名称并检索一些特征和相应的值。例如,我想检索所有图形(id 1、2、3 和 4)以及特征边和颜色(如果可用,如果不可用,则仅填充 id 和 name;其他为 null)。
我试过了
select *
from shapes_view
where (id = 1 or id = 2 or id = 3 or id = 4) and (characteristic like 'sides' or characteristic like 'color')
但很明显,它会检索 id 1 和 2,而不是 3 和 4。
我的猜测是我需要某种子查询来执行此操作,但是当我尝试将这个视图与其自身连接时,我会得到一长串的组合,这些组合与我需要的任何地方都不相近。
我打算得到的是类似的东西
id name characteristic value isList
1 cube sides 6 0
1 cube color blue 0
2 triangle sides 3 0
3 hexagon (null) (null) (null)
4 rectangle (null) (null) (null)
我知道我可以选择所有值并排除我在 java 端不做什么,但这听起来不太正确...
谁能帮我解决这个问题? 最好的问候
【问题讨论】:
标签: sql oracle select join view