关于下面SQL语句肯能产生的错误,求指点

sardineany 2010-08-05 10:40:52
SELECT  DISTINCT  RE_RepairBills.cHouseCode,RE_RepairBills.dCheckTime,RE_RepairBills.cReBillCode, RE_InDepotLog.cGoodsCode, RE_RepairBills.cHouseCode, MT_Goods.cGoodsPN, MT_Goods.cGoodsCName, 
CASE RE_RepairBills.cBillType WHEN '200611070002' THEN 'DOA新品' WHEN '200611070001' THEN '新品' ELSE '新品' END AS shuxing,
SUM(RE_InDepotLog.rAmont) AS 'rAmont', MT_Goods.cGoodsPN AS 'cGoodsPN1', MT_Goods.cGoodsCName AS 'cGoodsCName2',
RE_InDepotLog.cGoodsCode AS 'cGoodsCode2'
FROM RE_RepairBills LEFT OUTER JOIN
RE_InDepotLog ON RE_RepairBills.cReBillCode = RE_InDepotLog.cReBillCode LEFT OUTER JOIN
MT_Goods ON MT_Goods.cGoodsCode = RE_InDepotLog.cGoodsCode
WHERE (RE_RepairBills.cBillState = '检测')
AND (RE_InDepotLog.cReGoodsClassCode = '200611180001')
and (RE_RepairBills.isread is NULL or RE_RepairBills.isread='0')
and (RE_RepairBills.cHouseCode='200604100018')
and (RE_RepairBills.dCheckTime>'2010-7-21' AND RE_RepairBills.dCheckTime<'2010-7-22')


用户页面就两个下拉列表,不存在用户自己输入的地方,都是选的,用户可以进行筛选的就是RE_RepairBills.dCheckTime 和 RE_RepairBills.cHouseCode 也就是日期和库房号。
现在的问题就是输入进去之后,有的数据能查到有的却查不到,大家帮着想想问题可能出现在哪里可能有问题
应该就是where里面。。虽然这有些断章取义。。不过还是抱着点希望发上来让大家帮帮忙。
...全文
97 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sardineany 2010-08-05
  • 打赏
  • 举报
回复
解决不了当散分了。。谢谢大家的帮助。。不过最好能解决哈
sardineany 2010-08-05
  • 打赏
  • 举报
回复
他是有的能查到有的查不到。。很纠结。。
天-笑 2010-08-05
  • 打赏
  • 举报
回复

SELECT DISTINCT RE_RepairBills.cHouseCode,RE_RepairBills.dCheckTime,RE_RepairBills.cReBillCode, RE_InDepotLog.cGoodsCode, RE_RepairBills.cHouseCode, MT_Goods.cGoodsPN, MT_Goods.cGoodsCName,
CASE RE_RepairBills.cBillType WHEN '200611070002' THEN 'DOA新品' WHEN '200611070001' THEN '新品' ELSE '新品' END AS shuxing,
SUM(RE_InDepotLog.rAmont) AS 'rAmont', MT_Goods.cGoodsPN AS 'cGoodsPN1', MT_Goods.cGoodsCName AS 'cGoodsCName2',
RE_InDepotLog.cGoodsCode AS 'cGoodsCode2'
FROM RE_RepairBills LEFT OUTER JOIN
RE_InDepotLog ON RE_RepairBills.cReBillCode = RE_InDepotLog.cReBillCode LEFT OUTER JOIN
MT_Goods ON MT_Goods.cGoodsCode = RE_InDepotLog.cGoodsCode
WHERE (RE_RepairBills.cBillState = '检测')
AND (RE_InDepotLog.cReGoodsClassCode = '200611180001')
and (RE_RepairBills.isread is NULL or RE_RepairBills.isread='0')
and (RE_RepairBills.cHouseCode='200604100018')
and (RE_RepairBills.dCheckTime>'2010-7-21' AND RE_RepairBills.dCheckTime<'2010-7-22')

将你的where 条件 一条一条的放开,看看问题出在哪个查询条件上
sardineany 2010-08-05
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20100805/10/c6184fd8-1d32-437b-b601-42d15ca64514.html?59668
不好意思。。放错板块了,再发一次。。
hao1hao2hao3 2010-08-05
  • 打赏
  • 举报
回复



and (RE_RepairBills.cHouseCode='200604100018')






这里的括号有问题。可以放到查询分析器中去看看。
华夏小卒 2010-08-05
  • 打赏
  • 举报
回复
在查询分析器里执行看看

6,128

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 新技术前沿
社区管理员
  • 新技术前沿社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧