Code Bye

数据库查询语句问题,SQL,HQL,,求指导决

第一个查询语句
SELECT
statistic.material_id AS material_id,
m.MATERIAL_NAME,
statistic.sumQuantity AS sumQuantity
FROM
(
SELECT
MATERIAL_ID AS MATERIAL_ID,
sum(QUANTITY) AS sumQuantity
FROM
wms_material_flowing
WHERE
1 = 1
AND type IN (6)
GROUP BY
MATERIAL_ID
) AS statistic,
wms_material m
WHERE
m.ID = statistic.material_id
AND sumQuantity > 0
第二个
SELECT DISTINCT
wmsmateria0_.AVI_QTY AS col_0_0_,
wmsmateria0_.LOCK_QTY AS col_1_0_,
wmsmateria0_.operate_type AS col_2_0_,
wmsmateria0_.FLOWING_ID AS col_3_0_,
wmsmateria0_.ID AS col_4_0_,
wmsmateria0_.MATERIAL_ID AS col_5_0_,
wmsmateria1_.MATERIAL_NC_ID AS col_6_0_,
wmsmateria0_.TYPE AS col_7_0_,
wmsmateria0_.QUANTITY AS col_8_0_,
wmsmateria0_.CREATOR AS col_9_0_,
wmsmateria0_.CREATE_TIME AS col_10_0_,
wmsmateria0_.COMMENTS AS col_11_0_,
wmsmateria1_.MATERIAL_NAME AS col_12_0_,
coreuser2_.realname AS col_13_0_
FROM
wms_material_flowing wmsmateria0_,
wms_material wmsmateria1_,
core_user coreuser2_
WHERE
wmsmateria0_.MATERIAL_ID = wmsmateria1_.ID
AND wmsmateria0_.CREATOR = coreuser2_.user_id
AND (
wmsmateria0_.TYPE IN (1, 5, 6, 7, 8, 10, 11, 13)
)
AND wmsmateria0_.TYPE = 6
ORDER BY
wmsmateria0_.ID DESC
使用第二个查询,有数据显示,此时type=6
然后再使用第一个查询,type=6,数据仍然正常显示。
期望结果:只要两个type相同并且为(1, 5, 6, 7, 8, 10, 11, 13)都能显示数据
(第一个查询出来的数据包含第二个查询出来的数据)
实际结果,唯独当type=5时,使用第二个查询能显示数据,使用第一个查询显示数据都为NULL。
解决方案

20

引用:

来个人吧,本人把40分给他,问题解决了已经。

20

解决了,就将方法贴出来,让后来的人也能学习下

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明数据库查询语句问题,SQL,HQL,,求指导决