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

按条件查询,该怎么处理

2012-10-23 
按条件查询SQL codeselect JO026,* FROM[dbo].[APSJOB]whereJO015 IN (SELECT RE002 FROM APSRES WHERE RE

按条件查询

SQL code
select JO026,* FROM     [dbo].[APSJOB]where    JO015 IN (SELECT RE002 FROM APSRES WHERE RE001 = 'liyu')


我想实现:
JO026 = '0'加JO015 IN (SELECT RE002 FROM APSRES WHERE RE001 = 'liyu')条件限定
JO026 = '1'不加JO015 IN (SELECT RE002 FROM APSRES WHERE RE001 = 'liyu')条件限定

开始我想像下边这样写,显然思路和语法不对

SQL code
select *     FROM         [dbo].[APSJOB]whereJO015 IN CASE WHEN JO026 = '0' THEN (SELECT RE002 FROM APSRES WHERE RE001 = 'liyu')ELSE(SELECT DISTINCT RE002 FROM APSRES )END



[解决办法]
SQL code
select     case when JO015 IN (SELECT RE002 FROM APSRES WHERE RE001 = 'liyu') then '0'else '1' end as JO026,* from [dbo].[APSJOB]
[解决办法]
SQL code
select JO026,* FROM     [dbo].[APSJOB]where    (isnull(JO026,'0') = '0' and JO015 IN (SELECT RE002 FROM APSRES WHERE RE001 = 'liyu'))    or JO026='1' 

热点排行
Bad Request.