如何在 Teradata 中为 SQL 联合创建 table?
How do I create a table for a SQL Union in Teradata?
我想将两个 table 合并在一起以开发患者 ID 的主列表。
我的问题是这些数据存储在哪里?
我想对并集的结果进行左连接。有没有办法将这些结果移动到 table?
SELECT patid FROM sandbox_jp.claims_women_dx_preg2
UNION
SELECT patid FROM sandbox_jp.claims_women_px_preg2;
MySQL 例如
CREATE TABLE new_tbl
SELECT patid FROM db1.claims_women_dx_preg2
UNION
SELECT patid FROM sandbox_jp.claims_women_px_preg2
;
但其他数据库的语法不同,例如SQL 服务器:
CREATE patid
into new_tbl
from (
SELECT patid FROM [dbo].claims_women_dx_preg2
UNION
SELECT patid FROM [sandbox_jp].claims_women_px_preg2
) u
;
请注意,我假设您合并的 2 个 table 不知何故不同,在该联合查询中使用相同的 table 毫无意义。
如果只是限时需要,而且你的数据库支持"with"那么
with cte as (
SELECT patid FROM [dbo].claims_women_dx_preg2
UNION
SELECT patid FROM [sandbox_jp].claims_women_px_preg2
)
select
*
from cte
@User_By_Already 的答案中的 CTE 逻辑也适用于 Teradata。
你也可以把结果放到一个volatile中table:
CREATE VOLATILE TABLE VT as (
SELECT patid FROM sandbox_jp.claims_women_dx_preg2
UNION
SELECT patid FROM sandbox_jp.claims_women_px_preg2)
with data
primary index(patid)
on commit preserve rows;
然后您可以 select 从那个不稳定的 table,加入到您的另一个 table。
或者,您可以使用派生的 table,再次加入您的另一个 table。
select
...
from
(SELECT patid FROM sandbox_jp.claims_women_dx_preg2
UNION
SELECT patid FROM sandbox_jp.claims_women_px_preg2) p
join <other table> on ...
我想将两个 table 合并在一起以开发患者 ID 的主列表。
我的问题是这些数据存储在哪里?
我想对并集的结果进行左连接。有没有办法将这些结果移动到 table?
SELECT patid FROM sandbox_jp.claims_women_dx_preg2 UNION SELECT patid FROM sandbox_jp.claims_women_px_preg2;
MySQL 例如
CREATE TABLE new_tbl
SELECT patid FROM db1.claims_women_dx_preg2
UNION
SELECT patid FROM sandbox_jp.claims_women_px_preg2
;
但其他数据库的语法不同,例如SQL 服务器:
CREATE patid
into new_tbl
from (
SELECT patid FROM [dbo].claims_women_dx_preg2
UNION
SELECT patid FROM [sandbox_jp].claims_women_px_preg2
) u
;
请注意,我假设您合并的 2 个 table 不知何故不同,在该联合查询中使用相同的 table 毫无意义。
如果只是限时需要,而且你的数据库支持"with"那么
with cte as (
SELECT patid FROM [dbo].claims_women_dx_preg2
UNION
SELECT patid FROM [sandbox_jp].claims_women_px_preg2
)
select
*
from cte
@User_By_Already 的答案中的 CTE 逻辑也适用于 Teradata。
你也可以把结果放到一个volatile中table:
CREATE VOLATILE TABLE VT as (
SELECT patid FROM sandbox_jp.claims_women_dx_preg2
UNION
SELECT patid FROM sandbox_jp.claims_women_px_preg2)
with data
primary index(patid)
on commit preserve rows;
然后您可以 select 从那个不稳定的 table,加入到您的另一个 table。
或者,您可以使用派生的 table,再次加入您的另一个 table。
select
...
from
(SELECT patid FROM sandbox_jp.claims_women_dx_preg2
UNION
SELECT patid FROM sandbox_jp.claims_women_px_preg2) p
join <other table> on ...