2015-04-04 66 views
0

我有兩個sqlite3中的大表,並需要做一個左連接並創建一個新表(myTable)。我還需要匹配每個表中的兩列(不同的名稱),然後將它們重命名爲第三個表(myTable)。下面是我當前的代碼,但我一直在年底收到錯誤:不明確的列名faa.citysqlite左連接語法與創建表作爲

表1:飛機

表2:FAA

首先,我匹配的飛機。代碼與faa.iata然後重命名爲oCity(myTable.oCity)。其次,我將airplane.dCode與faa.city相匹配,並將其重命名爲dCity(myTable.dCity)。

CREATE TABLE myTable AS 
SELECT airplane.code AS oCity, faa.city AS dCity, airplane.month, airplane.dayOfMonth, airplane.uniqueCode, airplane.fNumber, airplane.scheduledTime 
FROM airplane, faa 
LEFT JOIN faa 
WHERE airplane.code = faa.iata 
AND airplane.dCode = faa.city; 

回答

1

首先,您需要一個on子句。其次,你需要使用正確的表別名。第三,你不需要from子句中提faa兩次:

CREATE TABLE myTable AS 
    SELECT a.code AS oCity, faa.city AS dCity, a.month, a.dayOfMonth, 
      a.uniqueCode, a.fNumber, a.scheduledTime 
    FROM airplane a LEFT JOIN 
     faa 
     ON a.code = faa.iata AND a.dCode = faa.city; 

一個簡單的規則:不要使用逗號from子句。