SQL数据库中两个表A,B存放内容不一样,需要关联两表查询数据.

A表中存放的是字段有:名称(name),编号(mediid) 机构(forgid) B表中存放的是字段有:价格(price ),编号(mediid) 机构(forgid) 一个名称下面可以有多个价格,机构里面也包含多个机构(如:E 和 F) 需求1:现在想查一下:E机构里面的一个名称下面有多少个价格 需求2:查询E机构下面,两个表中编号相同的项目

第1个回答  2020-06-18
问题1:E机构里面的每个名称下面有多少个价格,如果要制定某一个名称,可以在where条件中增加name最为条件:
select
a.name
,
count(price)
from
a,b
where
a.mediid
=
b.mediid
and
a.forgid
=
b.forgid
and
a.forgid
=
'E'
group
by
a.name;
如果要去掉重复价格可以增加distinct,如下:
select
a.name
,
count(distinct
price)
from
a,b
where
a.mediid
=
b.mediid
and
a.forgid
=
b.forgid
and
a.forgid
=
'E'
group
by
a.name;
问题2:查询E机构下面,两个表中编号相同的项目
select
count(name)
from
a,b
where
a.mediid
=
b.mediid
and
a.forgid
=
b.forgid
and
a.forgid
=
'E';
相似回答