我有一张这样的表
Uri myUri = Uri.parse("file://" + path);
emailIntent.putExtra(Intent.EXTRA_STREAM, myUri);
在此表中,我有一些重复的条目,因为我需要存储VIP价格。如果是正常人访问,我需要显示
id | item | price | vip
---+--------+--------+-----
0 | tv | 2000 | NULL
1 | tv | 2500 | TRUE
2 | camera| 3000 | NULL
3 | camera| 3500 | TRUE
4 | phone | 1000 | NULL
5 | pen | 2 | NULL
如果贵宾来了,那么我应该显示价格
item | price
------+---------
tv | 2000
camera| 3000
phone | 1000
pen | 2
最后一列是布尔值。
我需要查询来获取物品。请帮助获取此查询。
答案 0 :(得分:4)
普通客户:
select item, price
from tablename t1
where vip is true
or not exists (select 1 from tablename t2
where t1.item = t2.item
and vip is true)
vip客户:
{{1}}
答案 1 :(得分:0)
您只需要一个WHERE子句
SELECT price from *** WHERE ((VarVip = true AND vip IS NOT NULL) OR (vip IS NULL)) and item = ...
我无法测试它,但如果存在,则应打印VIP价格,否则打印正常价格。如果它没有(我怀疑)你仍然可以在where子句中添加这样的测试:
exists(SELECT price from *** where vip IS NOT NULL and item = ...)