首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我有选择查询问题

我有选择查询问题
EN

Stack Overflow用户
提问于 2019-09-03 10:59:37
回答 3查看 86关注 0票数 0

我的数据库里有两张桌子。在第一个表中,我有GroupName和LID列,在第二个表中,我有strSO、strLID和DefectDes列。LID列和strLID列具有相同的值。每个GroupName都有DefectDes,比如See Disposition TableNot Disassembled。例如,一些组有一个See Disposition Table和一个Not Disassembled;有些组没有See Disposition Table。我想取这样的组名**有些组没有See Disposition Table。我写了这段代码

代码语言:javascript
复制
deneme=sorgu.executeQuery("SELECT DISTINCT GroupName FROM TableRun WHERE LID IN (SELECT strLID FROM TableResult  WHERE strSO='"+SalesOrder+"' AND DefectDes='Not Disassembled')");
         while(deneme.next())
         {
             System.out.println(deneme.getString("GroupName"));
         }

但它给了我错误的答案。

我的数据库表是这样的

答案是这样的

代码语言:javascript
复制
STG 1 HPT VANE
STG 11 HPC VANE
STG 2 HPT VANE
STG 3 HPC VARIABLE VANE
STG 4 HPC BLADE
STG 4 HPC VARIABLE VANE
STG 5 HPC BLADE
STG 6 HPC BLADE
STG 7 HPC VANE
STG 8 HPC VANE
STG 9 HPC BLADE
STG 9 HPC VANE

在答案STG 1 HPT叶片中,有一个记录See Disposition Table和一个记录Not disassembled。我不想得到它。我只想得到所有的Not Disassembled盖子。我做错了什么?

EN

回答 3

Stack Overflow用户

发布于 2019-09-03 11:16:16

代码语言:javascript
复制
SELECT GroupName FROM TableResult left join TableRun on TableResult.strLID = TableRun.LID WHERE strSO='"+SalesOrder+"' AND DefectDes='Not Disassembled' group by GroupName
票数 0
EN

Stack Overflow用户

发布于 2019-09-03 11:16:55

您需要使用连接而不是内联查询,而且我在数据表中找不到STG 1 HPT叶片。我不知道什么是LID of STG 1 HPT VANE,但希望这个查询能帮助您

代码语言:javascript
复制
deneme=sorgu.executeQuery("SELECT DISTINCT TRun.GroupName FROM TableRun TRun
inner join tableresult TResult on Trun.LID = TResult.strLID
WHERE TResult.strSO='"+SalesOrder+"' AND TResult.DefectDes='Not Disassembled' group by TRun.GroupName" );
票数 0
EN

Stack Overflow用户

发布于 2019-09-03 11:38:50

这将连接所有DefectDes值,并使用HAVING claue进行筛选。

代码语言:javascript
复制
SELECT DISTINCT r.GroupName
FROM TableRun r  
WHERE r.LID IN
(SELECT DISTINCT rs.strLID FROM TableResult rs 
WHERE r.LID = rs.strLID AND rs.strSO='"+SalesOrder+"'
GROUP BY rs.strLID
HAVING group_concat(rs.DefectDes) LIKE '%Not Disassembled%'
AND group_concat(rs.DefectDes) NOT LIKE '%See Disposition Table%')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57770322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档