Sql server 2008 加入日期
我有下面的表格,我想做一个查询,可以给出下面粗体显示的结果5 我试着询问,但不是wokring,你能帮我吗Sql server 2008 加入日期,sql-server-2008,Sql Server 2008,我有下面的表格,我想做一个查询,可以给出下面粗体显示的结果5 我试着询问,但不是wokring,你能帮我吗 SELECT utl_reader_route.reader_route_code, utl_reader_route_date.read_date FROM utl_reader_route_date JOIN utl_reader_route ON utl_reader_route.reader_route_id =
SELECT utl_reader_route.reader_route_code,
utl_reader_route_date.read_date
FROM utl_reader_route_date
JOIN utl_reader_route
ON utl_reader_route.reader_route_id =
utl_reader_route_date.reader_route_id
JOIN utl_meter_reader
ON utl_reader_route.meter_reader_id = utl_meter_reader.meter_reader_id
WHERE utl_meter_reader.meter_reader_code = 'ADR MRS'
AND utl_reader_route_date.read_date BETWEEN '2014-05-01' AND '2014-05-31'
ORDER BY read_date
utl\u仪表\u读卡器
仪表读卡器id。。。。。。。。。仪表读数器代码
1………ADR MRS
2………AGC
utl_读取器_路线
读卡器路径id。。。。。。。。。。仪表读数器id
1。。。。。。。。。一,
2。。。。。。。。。二,
utl\u读卡器\u路线\u日期
读卡器\路线\日期\ id。。。。。。。。。读卡器路径id。。。。。。。。。阅读日期
1。。。。。。。。。1.2014年4月20日
1。。。。。。。。。2.2014年5月20日
1。。。。。。。。。3.2014年6月20日
2。。。。。。。。。4.2014年4月20日
2。。。。。。。。。5.........
2。。。。。。。。。6.2014年6月20日
3。。。。。。。。。7.2014年4月20日
3。。。。。。。。。8.2014年5月20日
3。。。。。。。。。9......... 2014年6月20日假设您需要没有日期的记录。您可以输入Or子句并检查空日期,如
select utl_reader_route.reader_route_code,utl_reader_route_date.read_date from
utl_reader_route_date join utl_reader_route on
utl_reader_route.reader_route_id=utl_reader_route_date.reader_route_id Join
utl_meter_reader on utl_reader_route.meter_reader_id=utl_meter_reader.meter_reader_id where
utl_meter_reader.meter_reader_code='ADR MRS' and utl_reader_route_date.read_date between '2014-05-01' and '2014-05-31' Or utl_reader_route_date.read_date is Null order by read_date
这没有任何区别,我仍然没有得到空字段,我们能做些别的吗here@user3474932你们在日期栏里储存了什么。。空还是空?很抱歉,我对SQL非常陌生,因为理解空和空是一样的。由于我们已经尝试使用Null,您能告诉我如何查找空白字段吗please@user3474932只需将条件更改为或utl_reader_route_date.read_date为@user3474932您能否尝试删除日期条件并尝试检索空白值,然后查看您是否获得该记录给定您的样本数据,我看不出您如何期望utl读卡器路由日期中的行加入utl仪表读卡器,因为读卡器路由id=5在示例中的utl仪表读卡器中没有匹配项。你至少需要一个左连接。从技术上讲,我们甚至不知道日期值是否为空;我们不知道它的数据类型,因为您没有提供定义。它可以是空白的。