如何定义表名并进行多表选择

时间:2019-07-18 14:24:52

标签: sql

我需要在SQL查询中使用多个表选择。但是如何引用查询中选择的表?

例如:(伪代码)

create table C as
select distinct id, product_code
from (
   select distinct id, product_code 
   from A where dt = '2019-06-01'
) 
inner join B on (select distinct id, product_code 
                 from A where dt='2019-06-01').id = B.id;

上面的代码可能是错误的,但要点是表A不能太大,因为表A太大,必须指定dt为某个特定值。 (因此,我需要从A中选择两次以上的内容)。而且我需要将较小的A'与其他一些表B内部连接。

是否可以说“定义”表A_ =从A ...中选择不同的blabla ...然后在查询中将A_与B连接起来?

谢谢

1 个答案:

答案 0 :(得分:1)

您只想要一个表别名:

select distinct id, product_code
from (select distinct id, product_code
      from table_A
      where dt = '2019-06-01'
     ) a inner join
     table_B b
     on a.id = B.id;