0
我有要求我加入/指同一表的查詢,但是,我無法使用查詢得到的結果。SQL指同一個表中查詢滯留
下面是我的查詢的樣本
SELECT a."column1", b."column1" as anotherColumn
FROM table1 AS a, table2 AS b
where a.'x' = b.'x'
AND NOT a.'y' = b.'y'
這個查詢需要永遠載入。但是,如果我只是運行:
SELECT a."column1"
FROM table1 AS A
它只需要14秒。
我目前使用PostgreSQL與pgAdmin的。目前table1有140萬張表。
是不是因爲是在表1中的鎖時,它是第一個被稱爲?
編輯:每一行包含「作者」,「書出版」的記錄,在這種情況下,有可能是一本書,因此是合作者許多作者。我試圖實現是要找出合作者的數量每個作者
第一個查詢沒有加入這兩個表。您正在創建這兩個表格之間的笛卡爾產品(又稱「交叉連接」)。爲什麼? –
@a_horse_with_no_name我編輯了我的問題,希望能夠澄清我正在努力實現的目標。感謝讓我知道它實際上正在交叉加入 – Jackelll
@fukanchik我添加了WHERE子句,我認爲你的意思是我的子查詢?我在我的問題中添加了更多細節,希望能夠澄清一些觀點。有沒有辦法在沒有這種連接的情況下生成「協作者」結果? – Jackelll