我有四张 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/