我有表(user_page_cells
)用下面的查詢顯示:JOIN問題與SQL Server
SELECT tag_id, nid
FROM user_page_cells WHERE nid = 1;
它給我的結果:
我也有一個表(graph_tags
) :
SELECT *
FROM graph_tags where page_node = 1
哪給了我結果:
。
user_page_cells.nid
和graph_tags.page_node
這兩個參考頁節點。
我需要一個查詢,顯示我的第一個查詢結果
(SELECT tag_id, nid FROM user_page_cells WHERE nid = 1;)
有一個額外的列。如果不是nid = page_node
或NULL
,則此列需要從第二個表(graph_tags
)獲得default_graph_tag_id
。
我嘗試過使用LEFT
,RIGHT
,FULL OUTER JOIN
但我無法得到我要找的結果。
下面是我認爲會起作用的查詢的一個示例。
SELECT user_page_cells.tag_id, graph_tags.default_graph_tag_id
FROM user_page_cells
LEFT OUTER JOIN graph_tags ON user_page_cells.nid = graph_tags.page_node
WHERE user_page_cells.nid = 1.
我總是得到,如果LEFT
,RIGHT
,或FULL
使用這種不管;
任何人都可以點我在正確的方向?
謝謝
你得到的結果有什麼問題? – 2013-02-18 20:41:26
你的輸出有什麼問題? – DevelopmentIsMyPassion 2013-02-18 20:43:24
我希望結果看起來像第一個查詢的結果。但是,如果tag_id匹配2個表中的其他字段,則會顯示graph_tag_id。 – Mildfire 2013-02-18 20:49:49