【发布时间】:2018-04-23 21:32:54
【问题描述】:
我有 3 个表 A、B、c,我想加入这些表。这些表有共同的列,如 id_no、order_no
我想编写一个查询,返回所有 3 个表中的所有列,列扩展名为 tabA.、tabB.、tabC....我不想手动指定所有列名。这样我就可以区分表中的公共列。
select tabA.id_no, tabA.order_no, tabA....., tabB.id_no, tabB.order_no,tabB..., tabC.id_no, tabC.order_no,tabC..
from A tabA, B tabB, C tabC
where tabA.id_no = tabB.id_no
and tabB.id_no = tabC.id_no
请告诉我如何在 oracle sql 中实现这一点。
【问题讨论】:
-
请张贴
CREATE TABLE声明。从您的描述中不清楚外键是如何建立的。 -
如果你说你希望所有列都以它们的表别名作为前缀,那么没有办法做到这一点。
-
那么,您想在结果集中包含 id_no_tabA、id_no_tabB 等列名吗?抱歉,没有简单的方法可以避免手动单独输入这些名称。如果你的栏目太多,如果你创造性地懒惰(像我一样),你会写一些代码来为你编写代码;这是“元编程”,但没有工具可以直接进行。