2014-09-29 75 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. 

希望这有助于!