select * from b where b.id not in (select a.id from a)
解决方案 »
- 用delphi怎样连接远程orcle数据库啊
- 初学请教: 为何delphi中有许多控件都没有帮助(如samples等)?
- 制作DLL安装程序中,需要注册DLL文件到客户系统中,有什么办法?
- 谁给我推荐一个用Delphi来学习Com组建的资料啊!
- 500分求安易的FXPanel这个控件!
- 寻Vcl控件
- sos:以BDE方式连接sqlserver2000,为何在选择存储过程时提示“存储过程不存在”?
- 有谁用过USB接口控制函数?有没有这方面的资料或控件?
- TInterfacedObject与TInvokableClass的区别
- 快下岗了,帮帮我!
- 数据建摸工具哪些常用?从哪里得到?
- 折分如下字串,50分请进!!
b.??id not in (select a.??id from a)
Query_02.SQL.Clear;
Query_02.SQL.Add('SELECT *' );
Query_02.SQL.Add('FROM Query_all');
Query_02.SQL.Add('Where Query_all.BxNo not in (SELECT Query_01.BxNo FROM Query_01)');
Query_02.Open;
----------
有问题吗?可是运行报错“Table dose not exist;Invalid object name'Query_All';Invalid object name'Query_01';”
什么原因?Query_All和Query_01在次之前都open了,没问题。
实际是这样:有个产品记录表,以BXNO+DATETIME为键,每个产品(BXNO)会有多条记录(包括合格与不合格的),现在要统计产量及各项合格与不合格的量,所以多条产品记录只能作为一个产品出现,以合格的优先,记入合格量就不能再在某个不合格量中出现。
怎样统计比较简单?
急也没用啊,你不公开表结构,谁都帮不了你。
CREATE TABLE dbo.TestEnd (
BeginDateTime datetime,//测试时间
BxNo varchar(32), //产品编号
BxModel varchar(15), //产品型号
TestedTime int, //测试时间
Data1 image NULL, //测试数据
)
帮帮忙了,多谢了。
CREATE TABLE dbo.TestEnd (
BeginDateTime datetime,//测试时间
BxNo varchar(32), //产品编号
BxModel varchar(15), //产品型号
TestedTime int, //测试时间
Data1 image NULL, //测试数据
BxResult char(2) NULL, //测试结果(代码:01合格,02、03、04...:各种不合格类型)
)
select BxNo, count(*) from testend where BxResult <> '01'
合格:
select BxNo, count(*) from testend where BxResult = '01'
还有问题吗?
count(*)不精确吧
select count(distinct(bxno)) from testend where BxResult = '01'
select count(distinct(bxno)) from testend where BxResult <> '01'
得到的结果一定包含部分已经合格的产品,我问题的关键是怎样避免合格产品的重复统计,记入合格量就不能再在某个不合格量中出现。
还有为什么<>'01'里面包含合格量?
select count(distinct(bxno)) from testend where BxResult <> '01'
只是去除了<> '01' 条件下的重复bxno,不会自动滤掉='01'的bxno.能用存储过程实现吗?
select BxResult, count(distinct(bxno)) from testend where bxresult <> '01' group by bxresult