2014-09-29 73 views
0

我想知道如果有人能幫助我,我有這些表:加入同一個表不同的表

tbl_search_history(id,fld_user_id,fld_username_fld_make_id,fld_model_id,fld_year_id,fld_category_id) 

fld_make是化妝的名字:

tbl_make(id,fld_make) 

fld_model是該型號的名稱

tbl_model(id,fld_model) 

fld_year是該年的名稱

tbl_year(id, fld_year) 

fld_category是該類別

tbl_category(id,fld_category) 

現在我需要顯示在我的網頁的表格中,我需要有這個字段的名稱:makemodelyearcategory。我也想知道如何在我的頁面中使用make,model,year和類別名稱(而不僅僅是tbl_search_history中的參考號)?請給我一段代碼和簡短的解釋嗎?

在此先感謝!

+0

您能告訴我們您的代碼,並告訴我們您到目前爲止嘗試過什麼嗎? – consuela 2014-09-29 23:38:03

回答

2

你的問題有點不清楚,但它聽起來像一個家庭作業問題。
我會給你一些僞代碼和引用。
首先,我會在JOINS上做一些閱讀。
如果你問得到列名,看this SO question
我相信你想做的事就是加入你的表像這樣:

SELECT table1.desired_field, table2.desired_field2, table3.desired_field3 
FROM table1 
JOIN table2 ON table1.table2_id = table2.id 
JOIN table3 ON table1.table3_id = table3.id 

等。

1
SELECT 
    tbl_model.fld_make, 
    tbl_make.fld_model, 
    tbl_year.fld_year, 
    tbl_category.fld_category 
FROM 
    tbl_search_history 
    INNER JOIN tbl_make ON tbl_search_history.fld_make_id = tbl_make.id 
    INNER JOIN tbl_model ON tbl_search_history.fld_model_id = tbl_model.id 
    INNER JOIN tbl_year ON tbl_search_history.fld_year_id = tbl_year.id 
    INNER JOIN tbl_category ON tbl_search_history.fld_category_id = tbl_category.id 

假設搜索歷史記錄表是將所有這些其他錶鏈接在一起的表。另外假設所有這些表都有鏈接值(即tbl_search_history中的非空id),否則您需要使用OUTER JOIN。

0

你想要做的是使用id是你在tbl_search_historymakemodelyearcategory表加入。

東西這種會給你想你想:

SELECT * FROM `tbl_search_history` 
INNER JOIN `tbl_make` 
    ON tbl_search_history.fld_make_id = tbl_make.id 
#keep going for model, year, and category tables using their respective ids. 

希望這有助於!