我的数据库中有2个表。在第一个表中,我有GroupName和LID列,在第二个表中,我有strSO,strLID和DefectDes列。 LID和strLID列具有相同的值。每个GroupName都有DefectDes,例如See Disposition Table
和Not Disassembled
。例如,某些组具有一个See Disposition Table
和一个Not Disassembled
;有些组没有See Disposition Table
。我想使用这样的群组名称**有些群组没有See Disposition Table
。我为此编写了代码
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 VANE中,具有一个记录
See Disposition Table
和一个记录Not disassembled
。我不想得到它。我只想获取所有Not Disassembled
LID。我究竟做错了什么?
最佳答案
SELECT GroupName FROM TableResult left join TableRun on TableResult.strLID = TableRun.LID WHERE strSO='"+SalesOrder+"' AND DefectDes='Not Disassembled' group by GroupName