我想知道是否有人可以帮助我,我有这些表:
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)
现在,我需要在页面中显示一个表格,我需要在其中显示以下字段:make
,model
,year
和category
。我还想知道如何在页面中显示make
,model
,year
和类别名称(而不仅仅是tbl_search_history
中的参考号码)?你能给我一段代码和一个简短的解释吗?
提前致谢!
答案 0 :(得分: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 :(得分: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中的非null id),否则你需要使用OUTER JOIN。
答案 2 :(得分:0)
您要做的是使用您在make
中的model
加入year
,category
,id
和tbl_search_history
表格。 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.
。
这种东西会让你想要你想要的东西:
{{1}}
希望这有帮助!