有这样一个语句,是存储过程里的最后一句,用于返回一个dsselect Date_Kalendar, AM_PM, (Select Case_Group_Name From TMP_HearingSchedule where AM_PM='0' and HearingPlace_ID='1' and Date_Kalendar=a.Date_Kalendar) as Case_Group_Name1
From TMP_HearingSchedule a where convert(varchar(10), a.Date_Kalendar, 111) = convert(varchar(10),@Date_Start,111)
and AM_PM = '0'
order by Date_Kalendar, AM_PM, HearingPlace_ID这里AM_PM代表上下午,有0和1两个值,分别代表上下午。
我现在需要返上下午2条数据。但是我只会写一条固定的,比如上午,那么条件就是AM_PM=‘0’有谁能帮忙写出来如何返回上下午2条数据的ds查询语句吗?谢谢
From TMP_HearingSchedule a where convert(varchar(10), a.Date_Kalendar, 111) = convert(varchar(10),@Date_Start,111)
and AM_PM = '0'
order by Date_Kalendar, AM_PM, HearingPlace_ID这里AM_PM代表上下午,有0和1两个值,分别代表上下午。
我现在需要返上下午2条数据。但是我只会写一条固定的,比如上午,那么条件就是AM_PM=‘0’有谁能帮忙写出来如何返回上下午2条数据的ds查询语句吗?谢谢
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
case when AM_PM = '0' then Case_Group_Name else '' end as am_Case_Group_Name,
case when AM_PM = '1' then Case_Group_Name else '' end as pm_Case_Group_Name,
From TMP_HearingSchedule a
where convert(varchar(10), a.Date_Kalendar, 111) = convert(varchar(10),@Date_Start,111)
order by Date_Kalendar, AM_PM, HearingPlace_ID
去掉以后,是有2条数据,但是子查询里面显示的都是下午的数据(即第2条数据)
就是说2条数据除了Date_Kalendar, AM_PM以外,其它字段(都是子查询)都是下午的字段而没有上午的字段了上午数据都被下午数据给覆盖了
select Date_Kalendar, AM_PM, (Select Case_Group_Name From TMP_HearingSchedule where AM_PM='0' and HearingPlace_ID='1' and Date_Kalendar=a.Date_Kalendar) as Case_Group_Name1
From TMP_HearingSchedule a where convert(varchar(10), a.Date_Kalendar, 111) = convert(varchar(10),@Date_Start,111)
and AM_PM in( [0],[1])
order by Date_Kalendar, AM_PM, HearingPlace_ID
没有考虑子查询里也有个 AM_PM这样的结果就是2条数据关于子查询的字段都是重复的。
2008-12-19 00:00:00.000 0 2
2008-12-19 00:00:00.000 1 2子查询是Case_Group_Name字段
结果显示的都是2,事实上数据库里是1和2