Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我已选择查询问题_Java_Sql_Ms Access_Jdbc_Ucanaccess - Fatal编程技术网

Java 我已选择查询问题

Java 我已选择查询问题,java,sql,ms-access,jdbc,ucanaccess,Java,Sql,Ms Access,Jdbc,Ucanaccess,我的数据库中有两个表。在第一个表中,我有GroupName和LID列,在第二个表中,我有strSO、strLID和DefectDes列。LID列和strLID列具有相同的值。每个组名都有缺陷,如见处置表和未反汇编。例如,一些组有一个见处置表和一个未反汇编;某些组没有,请参见处置表。我想取这样的组名**有些组没有请参见处置表。我为DoIt编写了这段代码 deneme=sorgu.executeQuery("SELECT DISTINCT GroupName FROM TableRun WHERE

我的数据库中有两个表。在第一个表中,我有GroupName和LID列,在第二个表中,我有strSO、strLID和DefectDes列。LID列和strLID列具有相同的值。每个组名都有缺陷,如
见处置表
未反汇编
。例如,一些组有一个
见处置表
和一个
未反汇编
;某些组没有
,请参见处置表
。我想取这样的组名**有些组没有
请参见处置表
。我为DoIt编写了这段代码

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"));
         }
但它给了我错误的答案

我的数据库表是这样的

答案是这样的

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叶片有一条记录
见处置表
,一条记录
未拆解
。我不想得到它。我只想得到所有的
而不是反汇编的
盖子。

我做错了什么?

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

SELECT GroupName FROM TableResult left join TableRun on TableResult.strLID = TableRun.LID WHERE strSO='"+SalesOrder+"' AND DefectDes='Not Disassembled' group by GroupName
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" );

这将连接所有DefectDes值,并使用
HAVING
claue进行过滤

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%')

它仍然给我相同的结果。它给我这个错误。-><代码>UCAExc:::3.0.7用户缺少权限或找不到对象:DEFDES
从订单中选择o.orderId,group_concat(productId)作为DEFDES,然后在o.orderId=d.orderId上加入orderDetails d,由具有类似“%11%”的DEFDES和不类似“%42%”的o.orderId分组。
。它基本上返回产品11的订单,而不是42。。你在使用哪个数据库?是的,它在w3schools.com/sql/trysql.asp中运行?filename=trysql_op_in,但我不明白为什么它没有从我这里运行。
UCAExc:::3.0.7表达式不在聚合中或按列分组:R.GROUPNAME
。现在给我这个错误:)立即尝试:P如果有效,请绿色勾选答案