select 网店情况=dbo.uf_GetStationName(station_id_dest),
工资=(SELECT TOP 1 COUNT(DATEDIFF(second,db_fb.yh_date,tj_shelf.input_date)/ 3600.00) FROM tj_shelf, tj_shelf_item, tj_dm_rk WHERE tj_shelf.dm_id = tj_shelf_item.dm_id AND tj_shelf_item.source_id = tj_dm_rk.dm_id AND tj_dm_rk.dm_id_source = db_fb.source_id)
from db_fb
where is_destroy='0'and receipts_class ='FB'
and station_id_dest IN('tw16','tw17')and input_date between convert(datetime,'2013-06-18') and convert(datetime,'2013-06-24 23:59:59')
and (SELECT TOP 1 DATEDIFF(second,db_fb.yh_date,tj_shelf.input_date)/ 3600.00 FROM tj_shelf, tj_shelf_item, tj_dm_rk WHERE tj_shelf.dm_id = tj_shelf_item.dm_id AND tj_shelf_item.source_id = tj_dm_rk.dm_id AND tj_dm_rk.dm_id_source = db_fb.source_id)<0
GROUP BY db_fb.station_id_dest,db_fb.source_id
ORDER BY station_id_dest ASC我想统计工资记录条数。提示:在包含外部引用的被聚合表达式中指定了多个列。如果被聚合的表达式包含外部引用,那么该外部引用就必须是该表达式中所引用的唯一的一列。
工资=(SELECT TOP 1 COUNT(DATEDIFF(second,db_fb.yh_date,tj_shelf.input_date)/ 3600.00) FROM tj_shelf, tj_shelf_item, tj_dm_rk WHERE tj_shelf.dm_id = tj_shelf_item.dm_id AND tj_shelf_item.source_id = tj_dm_rk.dm_id AND tj_dm_rk.dm_id_source = db_fb.source_id)
from db_fb
where is_destroy='0'and receipts_class ='FB'
and station_id_dest IN('tw16','tw17')and input_date between convert(datetime,'2013-06-18') and convert(datetime,'2013-06-24 23:59:59')
and (SELECT TOP 1 DATEDIFF(second,db_fb.yh_date,tj_shelf.input_date)/ 3600.00 FROM tj_shelf, tj_shelf_item, tj_dm_rk WHERE tj_shelf.dm_id = tj_shelf_item.dm_id AND tj_shelf_item.source_id = tj_dm_rk.dm_id AND tj_dm_rk.dm_id_source = db_fb.source_id)<0
--GROUP BY db_fb.station_id_dest,db_fb.source_id --去掉这句
ORDER BY station_id_dest ASC
ORDER BY station_id_dest ASC
去掉试试。
看不懂楼主想查什么
你单独测试一下
select dbo.uf_GetStationName('输入一个存在的描述')
select 工资=(SELECT TOP 1 COUNT(DATEDIFF(second,db_fb.yh_date,tj_shelf.input_date)/ 3600.00) FROM tj_shelf, tj_shelf_item, tj_dm_rk WHERE tj_shelf.dm_id = tj_shelf_item.dm_id AND tj_shelf_item.source_id = tj_dm_rk.dm_id AND tj_dm_rk.dm_id_source = db_fb.source_id)
from db_fb
where is_destroy='0'and receipts_class ='FB'
and station_id_dest IN('tw16','tw17')and input_date between convert(datetime,'2013-06-18') and convert(datetime,'2013-06-24 23:59:59')
and (SELECT TOP 1 DATEDIFF(second,db_fb.yh_date,tj_shelf.input_date)/ 3600.00 FROM tj_shelf, tj_shelf_item, tj_dm_rk WHERE tj_shelf.dm_id = tj_shelf_item.dm_id AND tj_shelf_item.source_id = tj_dm_rk.dm_id AND tj_dm_rk.dm_id_source = db_fb.source_id)<0
--GROUP BY db_fb.station_id_dest,db_fb.source_id --去掉这句
ORDER BY station_id_dest ASC