这是我的数据:
T1
P.ID UniqueID Value
1 1 Apple
1 2 Orange
1 3 Grapes
2 4 Peach
2 5 Orange
2 6 Banana
T2(查询表)
Value
Apple
Orange
Grapes
Peach
Melon
Berry
我需要将数据分为两类:
目前,我正在使用IN子句来查询T2
select ID from T1 where T1.value in(select value from T2)
但是我似乎在使用这个逻辑获得T2中没有匹配的记录。我如何区分这些?在上面的示例中,ID 2应为Type 2,ID 1为Type 1。
答案 0 :(得分:1)
您可以使用此查询:
class BottomRectangleRoundedCornersView: UIView {
override func awakeFromNib() {
let path = UIBezierPath(roundedRect: self.bounds,
byRoundingCorners: [UIRectCorner.BottomLeft, UIRectCorner.BottomRight], cornerRadii: CGSize(width: 10.0, height: 10.0))
let mask = CAShapeLayer()
mask.path = path.CGPath
self.layer.mask = mask
self.layer.backgroundColor = UIColor.whiteColor().CGColor //white fill
}
}
答案 1 :(得分:0)
如果您还需要两个查询:
获得类型2:
select unique p_id from t1 where value not in (select value from t2)
然后将结果保存(存储)到临时表中,或将其转换为视图。无论哪种方式,我们都说你称之为t3。
获得类型1:
select unique p_id from t1 where p_id not in (select p_id from t3)
答案 2 :(得分:0)
如果查询表中存在该值,则可以使用临时结果分别检查每一行,然后为每个组选择max
这些检查。因此,如果组中至少有一行没有引用(即该行的Type 2
),则该组的max
也是Type 2
:
select id, max(type)
from
(select id, nvl(t2.value,'Type 2', 'Type 1') as type
from t1 left join t2 on t1.value = t2.value)
group by id