php - 我在表 it_courses 字段 course_branch 的第一行有两个值。当我将分支表与 it_courses 表连接时,结果只有一个值

标签 php mysql

these are the tables

and it results 我在表 it_courses 字段 course_branch 的第一行有两个值。当我将分支表与 it_courses 表连接时,结果是这样的。它没有显示在 it_coursestable 中输入的第一行中的第二个值

Query :

SELECT branch.branch_name
FROM `branch`
JOIN `it_courses` ON it_courses.course_branch = branch.branch_id

最佳答案

您可以尝试这个数据库结构和查询:

Table:

tbl_it_courses(id - PK、cource_name、branch_id - FK)

tbl_branch(id - PK、branch_id、branch_name)

Table : 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');

Table : 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');

Query :

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

希望对您有帮助。

关于php - 我在表 it_courses 字段 course_branch 的第一行有两个值。当我将分支表与 it_courses 表连接时,结果只有一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47278659/

相关文章:

mysql - sql-server 到 mysql 的翻译

C# - 为什么我的服务器计算机上的 MySQL 服务器很慢?

mysql - 如何在 MySQL 中返回数据透视表输出?

php - 如何通过连接声明 PHP 类常量?

javascript - 我想每次都将不同的变量传递给循环中动态创建的按钮

php - 禁用 "square bracket to array"表单值名称的解析

mySQL GROUP BY 不同值相同

php - 如何在mysql中连接4个表?

php - Kivy 连接到数据库?

javascript - AJAX 请求在 PHP switch 语句中不起作用