我有兩個表:的Sql INNER JOIN與SELECT狀態拋出一個錯誤
一個表是「目錄」是存儲的pageID,tableLocation和頁面名稱。
tableLocation是存儲該頁面的內容的地方(我有多個站點的區域......無論如何)。
我需要從「tableLocation」中獲取數據,所以我想要做一個JOIN,這樣我就可以獲得目錄和所需表格所需的所有數據。當然,如果沒有「tableLocation」數據,我不知道要查看哪個表。我嘗試使用下面的SQL語句:如果我替換它的工作原理具體tableLocation第二選擇
SELECT p.pageID,p.tableLocation,p.pageName
FROM pageCatalog p
INNER JOIN
(SELECT tableLocation
FROM pageCatalog
WHERE pageName='PAGENAME') d
ON (p.pageID = d.pageID)
WHERE p.pageName='PAGENAME'
我得到一個錯誤,「無效的列名稱PAGEID'」
。所以錯誤是用「INNER JOIN(SELECT ...」),但我不確定是什麼問題。有什麼想法嗎?
-------------編輯--- ------- 更多細節:
例如pageCatalog有這個
pageID tableLocation pageName
167 tableA page1
12 tableB page2
250 tableC page3
在這個例子中
我有3個表,我需要從表*拉數據,但我首先需要tableLocation。 tableB有pageTitle,我需要加入兩張表才能得到這些數據。
我知道我已經通過p.tableLocation獲取「tableLocation」。我嘗試使用別名作爲表名,但拋出了其他錯誤。 – dcp3450
從它看起來像你試圖加入一個表本身,這是正確的嗎?你想通過這樣做完成什麼?此外,您收到無效列名稱錯誤的原因很可能是因爲您沒有在子查詢中選擇pageID列。 –
謝謝安德斯。對不起,格式化。 – dcp3450