我想將table1
和table2
中的一些內容合併到另一個table3
中。我有以下查詢和運行在PostgreSQL
:SQLite語法錯誤(從PostgreSQL轉換)
CREATE TABLE table3 AS SELECT
table1.orig_zon AS orig_zon,
table1.dest_zon AS dest_zon,
table1.same_zon AS same_zon,
table1.adjacent AS adjacent,
table1.distance AS distance,
table1.da_ivtt AS da_ivtt1,
table1.da_ovtt AS da_ovtt1,
table1.tr_avail AS tr_avail1,
table1.tr_ivtt AS tr_ivtt1,
table1.tr_ovtt AS tr_ovtt1,
table1.tr_cost AS tr_cost1,
table1.au_cost AS au_cost1,
table1.sr_ivtt AS sr_ivtt1,
table1.sr_cost AS sr_cost1,
table2.da_ivtt AS da_ivtt2,
table2.da_ovtt AS da_ovtt2,
table2.tr_avail AS tr_avail2,
table2.tr_ivtt AS tr_ivtt2,
table2.tr_ovtt AS tr_ovtt2,
table2.tr_cost AS tr_cost2,
table2.au_cost AS au_cost2,
table2.sr_ivtt AS sr_ivtt2,
table2.sr_cost AS sr_cost2,
FROM table1, table2
WHERE ((table1.orig_zon = table2.orig_zon)) AND ((table1.dest_zon = table2.dest_zon));
我已經測試過的查詢一個非常小的虛擬數據集,其結果是需要的。但是我實際的數據庫是SQLite
,當我在通過Linux外殼的sqlite3的運行此我爲得到一個錯誤:
Error: near "table1": syntax error
任何人都可以指向我,我需要爲了使在SQLite的這部作品進行修改?謝謝您的幫助!
EDIT1: 刪除尾部逗號後(見克雷格的評論如下)的問題仍然存在。
編輯2: 玩了一下後,我發現修復。看起來非常愚蠢,但如果我要在一行中傳遞查詢的內容,聲明就起作用了!
table2.sr_ivtt AS sr_ivtt2,
table2.sr_cost AS sr_cost2 FROM table1, table2 WHERE ((table1.orig_zon = table2.orig_zon)) AND ((table1.dest_zon = table2.dest_zon));
哦!類型化的禍根!
SQLite的控制檯是換行符終止,所以EDIT2是有道理的。 –