Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从一个表中选择与SQL中另一个表中的列相连接的两列?_Sql_Oracle - Fatal编程技术网

如何从一个表中选择与SQL中另一个表中的列相连接的两列?

如何从一个表中选择与SQL中另一个表中的列相连接的两列?,sql,oracle,Sql,Oracle,例如,我有两个表A和表B。在表A中,我存储出发和到达日期的ID。在B中,我有day\u id,它是主键;在day\u name中,我有类似于:周一、周二、周三等 我的问题是如何在一个select语句中选择出发日和到达日的名称 我想在SQL Developer中获得如下内容: 我认为您需要在select语句中使用别名B并加入它两次。我已经为这两个表做了一个非常基本的创建,插入了一些数据并将一个select放在一起,我不确定这是否是您想要的 create table A ( departure_d

例如,我有两个表A和表B。在表A中,我存储出发和到达日期的ID。在B中,我有
day\u id
,它是主键;在
day\u name
中,我有类似于:周一、周二、周三等

我的问题是如何在一个select语句中选择出发日和到达日的名称

我想在SQL Developer中获得如下内容:


我认为您需要在select语句中使用别名B并加入它两次。我已经为这两个表做了一个非常基本的创建,插入了一些数据并将一个select放在一起,我不确定这是否是您想要的

create table A (
departure_day_id int,
arrival_day_id int
)

create table B (
day_id int,
day_name varchar(10)
)

insert into B
select 1, 'Monday'

insert into B
select 2, 'Tuesday'

insert into A
select 1, 2

select A.arrival_day_id, B1.day_name, A.departure_day_id, B2.day_name
from A inner join B as B1
        on A.arrival_day_id = B1.day_id
    inner join B as B2
        on A.departure_day_id = B2.day_id
结果如下:

2、星期二、1、星期一


这正是我想要的,但不幸的是,这段代码似乎不起作用。无论如何,谢谢你)很抱歉,我只是在回答后才注意到你在Oracle中这样做,我不再熟悉MSSQL和Oracle SQL语法之间的语法差异,这会阻止它工作。很抱歉。语法似乎正确,我高度怀疑这在Oracle数据库上不起作用@Dave,
select
语句出现了什么错误?显然
as
给我带来了问题。不应在本声明中使用它。其余的都是正确的。非常感谢。