oracle多个withas,oracle 多个with as

本文介绍了在面试中遇到的一个问题,即如何将两个表的数据关联并翻译成对应描述。通过使用Oracle SQL的with as子句,创建了两个临时表T3和T4,分别获取了tb_data表中code1和code2对应的tb_code表的description,然后通过这两个临时表进行联接,得到了预期的结果。文章还提供了查询语句的示例和执行后的输出,展示了with as子句在多表查询中的实用性。
摘要由CSDN通过智能技术生成

今天去面试,遇到一个问题。

题目是这样的:

表1:

SQL> select * from tb_data;

ID CODE1 CODE2

---------- ---------- ----------

1 1 2

2 2 1

3 2 3

4 3 1

5 4 2

6 5 3

已选择6行。

SQL>

表2:

SQL> select * from tb_code;

CODE DESCRIPTION

---------- --------------------

1 a

2 b

3 c

4 d

5 e

SQL>

要求显示成:

ID DESCRIPTION DESCRIPTION

---------- -------------------- --------------------

1 a b

2 b a

3 b c

4 c a

5 d b

6 e c

也就是把表1里的code翻译成表2里的description。

因为面试官就坐在旁边,以前没写过,也没怎么动脑筋去写。

现在回来后,就想了一下。可以用多个with as来解决。

WITH

T3 AS

(

SELECT T1.ID, T1.CODE1, T2.DESCRIPTION

FROM TB_DATA T1,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值