篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求SQL多表查询公式。从A表查询结果去关联B表里面的字段相关的知识,希望对你有一定的参考价值。
参考技术C
两个表有没有 关联呢?追问card_cardchange 里面字段有 personnelid
file_personnel 里面字段有 personnelid 和 PNAME
两个personnelid 是相同的 ,这个就是关联。
追答select c.personnelid ,c.rdatetime ,c.changereason ,c.operatorid,f.PNAME
from card_cardchange c
,file_personnel f
where f.personnelid = c.personnelid
追问问下,c. 和 f. 是什么意思?
追答c 和 f 是别名
如果你不习惯C 和 F 可以替换成下面语句
select card_cardchange.personnelid ,card_cardchange.rdatetime ,card_cardchange.changereason
,card_cardchange.operatorid,file_personnel.PNAME
from card_cardchange
,file_personnel
where file_personnel.personnelid = card_cardchange.personnelid
这样的SQL语句易懂但是看起来很乱。
追问嗯,明白了。但是,还有个条件漏了。
就是我们第一条语句里面的 where rdatetime > '2011-05-1' and changereason =6
这个能加上去吗
追答可以
select card_cardchange.personnelid ,card_cardchange.rdatetime ,card_cardchange.changereason
,card_cardchange.operatorid,file_personnel.PNAME
from card_cardchange
,file_personnel
where file_personnel.personnelid = card_cardchange.personnelid
and card_cardchange .rdatetime > '2011-05-1' and card_cardchange .changereason =6
本回答被提问者采纳
select a from A a,B b where a.t=b.t
select a from A a where a.t in (select b.t from B b)
select distinct a.org_code,a.org_name from t_ORGANZATION a,T_DM_CDBP_ORGANZATION b where a.org_code=b.org_code;
select distinct a.org_code,a.org_name from t_ORGANZATION a where a.org_code in(select b.org_code from T_DM_CDBP_ORGANZATION b);
select distinct a.org_code,a.org_name from t_ORGANZATION a where EXISTS (select 1 from T_DM_CDBP_ORGANZATION b where a.org_code=b.org_code);
select
(*)1.523s
(1)1.459s
(t.id)1.36s
UNION ALL