and it results 我在表it_courses字段course_branch的第一行有两个值。当我使用it_courses表连接分支表时,结果就像this.it没有显示在it_coursestable中输入的第一行中的第二个值
查询:
SELECT branch.branch_name
FROM `branch`
JOIN `it_courses` ON it_courses.course_branch = branch.branch_id
答案 0 :(得分:0)
试试这个。
{{1}}
答案 1 :(得分:0)
您可以尝试此数据库结构和查询:
表:
tbl_it_courses(id - PK,cource_name,branch_id - FK)
tbl_branch(id - PK,branch_id,branch_name)
表:tbl_it_courses
CREATE TABLE tbl_it_courses (
id INT NOT NULL AUTO_INCREMENT,
cource_name VARCHAR(70) NOT NULL,
branch_id VARCHAR(70) DEFAULT NULL,
PRIMARY KEY(id)
);
INSERT INTO `tbl_it_courses` (`Id`, `cource_name`, `branch_id`) VALUES (NULL, 'PHP', '1,4'),(NULL, '.NET', '3'), (NULL, 'CCNA', '3');
表:tbl_branch
CREATE TABLE tbl_branch (
id INT NOT NULL AUTO_INCREMENT,
branch_id VARCHAR(70) DEFAULT NULL,
branch_name VARCHAR(70) NOT NULL,
PRIMARY KEY(id)
);
INSERT INTO `tbl_branch` (`Id`, `branch_id`, `branch_name`) VALUES (NULL, 'Ern', 'brn92b224'),(NULL, 'Klm', 'brnaf3650'), (NULL, 'Tvm', 'brn272493');
查询:
SELECT tbl_it_courses.cource_name, (SELECT GROUP_CONCAT(tbl_branch.branch_name) FROM tbl_branch WHERE FIND_IN_SET(tbl_branch.id,tbl_it_courses.branch_id) > 0) as branch_name
FROM tbl_it_courses
我希望它会帮助你。