php - mySQl,查询 : How to customize selection from database?

标签 php mysql sql

我有四张 table :

courses, allocate_rooms, rooms, departments 

查询:

SELECT
    courses.`name`,
    courses.`code`,
    allocate_rooms.`start`,
    allocate_rooms.`end`,
    rooms.room_number
FROM
    departments
JOIN courses ON departments.id = courses.department_id
LEFT JOIN allocate_rooms ON allocate_rooms.course_id = courses.id
LEFT JOIN rooms ON allocate_rooms.room_id = rooms.id
WHERE
    departments.id = 1

从查询中,我必须将选择 View 设置为 rooms.room_number、allocate_rooms.start-allocate.rooms_end;如果没有与该类(class)相关的数据,我必须显示“尚未安排”。

Eg: R.No: 301,12:00-12:30; (if the course related data is there otherwise it will show "Not Scheduled Yet"

如何重写上面的查询?如果有人帮助我找到解决方案。

最佳答案

我不确定这是否是您所需要的,但请尝试以下操作:

您可以使用 DECODE 来获取您需要的内容。

SELECT
    c.name name
   ,c.code code
   ,decode(ar.start,NULL,'Not Schedule Yet') START
   ,decode(ar.end,NULL,'Not Schedule Yet') END
   ,r.room_number roomnum
FROM
    departments d
   ,courses c
   ,allocate_rooms ar
   ,rooms r
WHEREd.id = c.id
AND ar.course_id = c.id
AND ar.room_id = r.room_id
AND d.id = 1;

关于php - mySQl,查询 : How to customize selection from database?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37225828/

相关文章:

PHP MySQL 排序规则问题 - 连接表

php - linux中的mssql连接

php - 由于假定的 MySQL 语法错误,Shell 脚本出错

sql - 寻求从多个 bak 文件恢复到测试 SQL 数据库

MySQL语句,12条最新epoch的唯一记录

php - Laravel Php 从 mysql 查询中获取随机结果

php - 如何禁用 MailChimp 双重选择加入?

MySQL 根据主键和一列删除除一个值之外的所有值

php - Sql计算2个表的总数

mysql - 在sql中显示年龄超过出生日期[number]