【问题标题】:How to create a SQL table based on the attributes another table?如何根据另一个表的属性创建一个SQL表?
【发布时间】:2014-04-15 08:33:11
【问题描述】:

我有一个名为 SCUBA_DIVER 的 SQL 表。它包含属性 ID(潜水员证书编号)、CDATE(证书日期)和 NAME。

我需要基于此创建一个包含两列 ID1 和 ID2 的新表。对于每一行,ID1 潜水员的认证总是晚于 ID2 潜水员。你会如何设置这张桌子?我想获取每个潜水员的所有组合。

到目前为止我有:

SELECT SCUBA_DIVER.ID AS ID1, SCUBA_DIVER.ID AS ID2
FROM SCUBA_DIVER AS SD1, SCUBA_DIVER AS SD2
WHERE SD1.CDATE > SD2.CDATE;

但这在 Oracle 中给我一个错误,我不知道为什么。

【问题讨论】:

    标签: sql oracle


    【解决方案1】:

    删除 FROM 子句中的 AS 关键字并使用别名代替表名。 您可以使用 CREATE TABLE AS SELECT 语句创建新表:

    CREATE TABLE <table name> AS
    SELECT SD1.ID AS ID1, SD2.ID AS ID2
    FROM SCUBA_DIVER SD1, SCUBA_DIVER SD2
    WHERE SD1.CDATE > SD2.CDATE; 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多