当前位置: 代码迷 >> .NET Framework >> SQL,该怎么解决
  详细解决方案

SQL,该怎么解决

热度:136   发布时间:2016-05-02 00:56:49.0
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')
 )
  相关解决方案