首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET Framework >

SQL,该怎么解决

2012-04-10 
SQL现在有2个表 一个是price1表 一个是price2表,2个表都有code字段和price字段现在传入一堆code,查询方式

SQL
现在有2个表 一个是price1表 一个是price2表,2个表都有code字段和price字段
现在传入一堆code,查询方式是这样 先在price1表查询没存在记录的话则在price2表查询
那怎么写该存储过程
比如传入code为("1","3","5")
那么假设price1表只有两条记录 code = 1 price = 56,code = 5, price = 50
price2表只有两条记录 code = 3, price = 60. 和 code = 5,price = 70
则查询出来的结果应该是
code price
1 56
3 60
5 50

[解决办法]
SELECT code,price FROM price1 WHERE code in('1','3','5')
 UNION ALL
 SELECT code,price FROM price2 WHERE code in('1','3','5') AND NOT EXISTS(
SELECT code,price FROM price1 WHERE code in('1','3','5')
 )

热点排行