2012-01-19 24 views
0

請幫助我。通過不同的其他表中的ID在我的SQL

爲此,我需要加入嗎?請引導我在MYSQL中查詢什麼,我會用這個。

我有一臺名爲_Record類似如下:

________________ 
|id | user_id | 
|31 | 3315 | 
|32 | 3316 | 
|33 | 3317 | 
________________ 

和其他表_record_value這是象下面這樣:

________________________ 
|id | record_id |value | 
|1 | 31  |xyz | 
|2 | 32  |xyz | 
|3 | 33  |xyz | 
________________________ 

我想,其實

Select value from _record_value ORDER BY _record.userid ASC; 

我該怎麼做?

我下面做現在

寫SELECT FROM jos_js_res_record_values record_id INNER field_value JOIN jos_js_res_record.id ON jos_js_res_record_values.record_id = jos_js_res_record.id ORDER BY jos_js_res_record.user_id ASC;

+0

如果'id'可以作爲連接兩個表的橋樑。你可以使用id加入兩個表格,然後執行該步驟。 –

回答

2
SELECT rv.value 
    FROM _record_value rv 
     INNER JOIN _record r 
      ON rv.record_id = r.id 
    ORDER BY r.user_id ASC; 
+0

內部joi中的r是它在表中的新列並可能是您將rv縮寫爲record_value? –

+1

'r'和'rv'分別是'_record'和'_record_value'表的別名。 –

+0

使用別名可以更輕鬆地指定ON子句。否則,您最終會輸入「ON _record_value.record_id = _record.id」 – Aaron

1
SELECT rv.value 
FROM _record_value rv 
INNER JOIN _record r ON r.id = record_id 
ORDER BY r.user_id; 

只是好奇,但爲什麼會導致以下劃線的表名?

對於你的問題的第二部分,你問這個查詢:

SELECT field_value 
FROM jos_js_res_record_values record_id 
INNER JOIN jos_js_res_record.id ON jos_js_res_record_values.record_id = jos_js_res_record.id 
ORDER BY jos_js_res_record.user_id ASC; 

在這其中,在FROM子句將被視爲對jos_js_res_record_values別名的「RECORD_ID」 ......這是我很確定你不是想要的。您的JOIN語法非常接近正確。我認爲這是你想要的:

SELECT field_value 
FROM jos_js_res_record_values jrv 
INNER JOIN jos_js_res_record jr ON jrv.record_id = jr.id 
ORDER BY jr.user_id ASC; 
+1

請仔細檢查訂單 – Andrew

+0

我正在寫這個查詢是寫入還是需要更改? SELECT'field_value' FROM'jos_js_res_record_values' 'record_id' INNER JOIN jos_js_res_record.id ON jos_js_res_record_values.record_id = jos_js_res_record.id ORDER BY jos_js_res_record.user_id ASC; –

+0

@MohibSalahuddin,請將您的代碼添加到您的原始答案...這樣閱讀起來要容易得多。 – Aaron

相關問題