2017-09-13 80 views
2

我想使这个
image 1在一行中有多个同一列联接查询

,这是我的查询

SELECT 
    modules.nama_module, 
    seats.from_seat, 
    seats.until_seat, 
    seats.available, 
    seats.id_seat 
FROM `modules` 
RIGHT JOIN `seats` ON modules.id_module = seats.id_module 
WHERE seats.id_day=1 OR seats.id_day=2 

我应该怎么做才能让这个?

image output

+0

大概是一组通过或加入某个地方(对吗?) – Scuzzy

回答

-1

一组由和总额在查询失踪

SELECT 
    modules.nama_module, 
    seats.from_seat, 
    seats.until_seat, 
    seats.available, 
    seats.id_seat, 
    sum(seats.id_seat) as nb_seat_available 
FROM `modules` 
RIGHT JOIN `seats` ON modules.id_module = seats.id_module 
WHERE seats.id_day=1 OR seats.id_day=2 
GROUP BY seats.from_seat 
1

试试这个。请注意,我创建了两列,一列列出逗号分隔的seat_ids,另一列显示座位数。座位数是所有你需要创建您展示的截图的看法,但我保留seat_ids有类似你有什么建议的输出:

SELECT 
    modules.nama_module, 
    seats.from_seat, 
    seats.until_seat, 
    seats.available, 
    GROUP_CONCAT(seats.id_seat) as seat_ids, 
    COUNT(seats.id_seats) as seats_count 
FROM `modules` 
RIGHT JOIN `seats` ON modules.id_module = seats.id_module 
WHERE seats.id_day=1 OR seats.id_day=2 
GROUP BY modules.nama_module, seats.from_seat, seats.until_seat 

创建新列对每个新SEAT_ID有自己的问题。创建列名,尴尬查询等。

[编辑:]刚才添加nama_module列GROUP BY当我意识到的时间可能会针对不同的业务重叠

相关问题