【发布时间】:2018-05-08 14:45:12
【问题描述】:
我必须做一个关于 SQL 的练习,我有两个表:
create table REPRESENTA (
cod_pais1 varchar (5),
cod_pais2 varchar (5),
primary key(cod_pais1,cod_pais2));
insert into representa values('p002','p003');
insert into representa values('p001','p004');
create table PAIS(
Cod_pais varchar (5)primary key unique,
nombre varchar (25) not null,
continente varchar (25)not null,
clubes numeric (9));
insert into pais values('p001','rusia','europa','10');
insert into pais values('p002','francia','europa','3');
insert into pais values('p003','guayana francesa','america','1');
insert into pais values('p004','uzbekistan','asia','8');
insert into pais values('p005','nigeria','africa','14');
我必须进行咨询才能按原样显示 REPRESENTA 表,但名称与 PAIS 表相关。而且教授不允许使用子选择。
我试过了
select pais.nombre as A, pais.nombre as B from pais join representa R on
pais.Cod_pais=representa.cod_pais1 join representa on
pais.Cod_pais= representa.cod_pais2;
但是如果我使用同一张表两次就会出错。
【问题讨论】:
-
使用表别名。在 pais.Cod_pais=R.cod_pais1 上代表 R2 在 pais.Cod_pais=R2.cod_pais2 上加入代表 R2; (我认为这可以解决您遇到的错误)
-
它不起作用,返回一个空表。谢谢你。