我運行此查詢DB2:得到一個奇怪的syntantical錯誤在DB2 for SQL查詢
with closure (obj_1, obj_2) as (SELECT distinct t.obj_1, t.obj_2 FROM temp4 t
UNION ALL SELECT c.obj_1, t.obj_2 FROM closure c, temp4 t WHERE c.obj_2=t.obj_1)
我不斷收到這個錯誤,我不知道如何解決它,因爲意外的標記是預期令牌?:
SQL0104N An unexpected token ")" was found following "HERE c.obj_2=t.obj_1".
Expected tokens may include: ")". SQLSTATE=42601
'SELECT distinct f.obj_1,f.obj_2 FROM temp4 t' - 看起來您在字段列表中使用的是別名'f'而不是't'。我也將在下半部分切換到'INNER JOIN',而不是使用過濾器進行交叉連接。 –
@DStanley好趕上!你是在暗示這個? '閉包(obj_1,obj_2)爲(SELECT t.obj_1,t.obj_2 FROM temp4 t UNION ALL SELECT c.obj_1,t.obj_2 FROM closure c,temp4 t)' – Nataly
沒有保持工會,但改變了下半年'SELECT c.obj_1,t.obj_2 FROM closure c INNER JOIN temp4 t ON c.obj_2 = t.obj_1' –