我正在尝试执行一条MYSQL语句,该语句允许用户查看“提案”的所有详细信息。在一张桌子里。但是我需要连接大约5个不同的表,并且有两个条件:
条件1:来源必须等于'主管' 条件2:表中的记录'记录'一定不存在。
到目前为止,这是我尝试在phpMyAdmin中的sql查询构建器中出现错误的一些表的尝试:
SELECT p.proposal_id, p.proposal_title, p.description, t.tag_code, c.course_title, u.forename, u.surname, FROM proposal p
LEFT JOIN proposal_tags t USING (proposal_id)
LEFT JOIN course_details c USING (course_code)
LEFT JOIN user u USING (user_record_id);
表结构如下:
**proposal**
(proposal_id
,source
,proposal_title
,description
,date_added
,course_code
,user_record_id
)
**proposal_tags**
(proposal_id
,tag_code
)
**tag_details**
(tag_code
,tag_title
)
**user_details**
(user_record_id
,forename
,surname
)
**course_details**
(course_code
,course_title
)
我希望桌子看起来像这样:
非常感谢任何帮助。
先谢谢你们!!
答案 0 :(得分:1)
您需要加入tag_details
表格以及proposal_tags
,Supervisor Name
您可以使用concat
功能
SELECT
p.proposal_id as `Proposal Id`,
p.proposal_title as `Proposal Title`,
p.description as Description,
concat(u.forename,' ', u.surname) as `Supervisor Name`,
c.course_title as Course,
t.tag_title as Tags,
p.date_added as `Date Added`
FROM proposal p
LEFT JOIN proposal_tags pt on pt.proposal_id = p.proposal_id
LEFT JOIN tag_details t on t.tag_code = pt.tag_code
LEFT JOIN course_details c on c.course_code = p.course_code
LEFT JOIN user u on u.user_record_id = p.user_record_id