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

关于上面SQL语句肯能产生的异常,求指点

2013-01-08 
关于下面SQL语句肯能产生的错误,求指点SELECTDISTINCTRE_RepairBills.cHouseCode,RE_RepairBills.dCheckTi

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

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里面。。虽然这有些断章取义。。不过还是抱着点希望发上来让大家帮帮忙。
[解决办法]
在查询分析器里执行看看
[解决办法]



 and (RE_RepairBills.cHouseCode='200604100018')






这里的括号有问题。可以放到查询分析器中去看看。
[解决办法]

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 条件 一条一条的放开,看看问题出在哪个查询条件上

热点排行