我在寫一個查詢來總結OD矩陣表中的次數行程時遇到問題。對於使用MS Access以外的數據庫,我還是個新手,所以請原諒我的經驗不足。 SMGZ是帶有區域數量的表格,matrix_od是矩陣表格,其中所有OD對(4109 * 4109)從區域到區域以及總體行程類型數量。我不確定這是編寫此查詢的最佳方式。所以我需要做的就是根據OD總結4種類型的旅行(LHDT,MHDT,HHDT,HDT_Tota)。非常感謝幫助。POSTGRES Group/Inner Join
SELECT
smgz.smg_zone AS "O_ID",
smgz.x AS "O_X",
smgz.y AS "O_Y",
smgz1.smg_zone AS "D_ID",
smgz1.x AS "D_X",
smgz1.y AS "D_Y",
SUM(matrix_od."LHDT") AS "LHDT_Tot",
SUM(matrix_od."MHDT") AS "MHDT_Tot",
SUM(matrix_od."HHDT") AS "HHDT_Tot",
SUM(matrix_od."TOT_HDT") AS "HDT_Tot"
FROM
public.smgz,
public.matrix_od,
public.smgz smgz1
GROUP BY
"O_ID","O_X","O_Y","D_ID","D_X","D_Y"
INNER JOIN
smgz on matrix_od.O_ID = smgz.ID
INNER JOIN
smgz1 on matrix_od.D_ID = smgz1.ID;
ERROR: syntax error at or near "INNER"
LINE 18: INNER JOIN
^
********** Error **********
ERROR: syntax error at or near "INNER"
SQL state: 42601
Character: 414
連接應該在GROUP BY之前。另外,您正在執行相當笛卡爾產品 – Lamak 2015-03-24 21:42:45
您正在混合隱式連接語法和顯式'JOIN'運算符。不要這樣做。 – 2015-03-24 21:48:46