2011-09-27 42 views
0

我已經完成了更復雜的查詢,我很難過。試圖連接兩個表,但無法連接

表:

STEPS (id, rank, description) 
ELEMENTS (element, element_id, year_code) 

該表由STEPS.id = ELEMENTS.element_id where ELEMENTS.year_code = 2010

我想它rank檢索step,涉及,但它需要檢查元素表,以確保我拉相應的步驟,因爲可以有兩個級別相同的步驟,但這是year_code起作用的地方,同一年沒有重複的等級。

所以我想查看step

where steps.rank = 1.2.4 and elements.year_code = 2010 

任何幫助表示讚賞

步驟表保存所有的步驟和元素表跟蹤的步驟是屬於哪一年。

+1

什麼'STEPS'和'ELEMENTS'之間的關係?也就是說,哪些列將兩個表連接在一起? –

+0

元素和步驟如何鏈接?通過element_id? – Johan

+0

對不起,我修改了我的問題。 – Brad

回答

1

我沒有鏈接字段,所以我只打算使用elements.step_id來鏈接字段。
將查詢調整爲您的字段名稱。

SELECT s.* 
FROM steps s 
INNER JOIN elements e ON (e.steps_id = s.id) 
WHERE s.rank = '1.2.4' AND e.year_code = '2010' 

或者,也許你的意思是:

SELECT s.* 
FROM steps s 
INNER JOIN elements e ON (e.steps_id = s.id) 
WHERE s.rank IN ('1','2','4') AND e.year_code = '2010' 
1
SELECT s.id, s.rank, s.description 
    FROM STEPS s 
     INNER JOIN ELEMENTS E 
      ON s.id = e.element_id 
    WHERE s.rank = '1.2.4' 
     AND e.year_code = 2010