2015-05-17 2 views
0

Я хочу сгруппировать все аптеки, присутствующие в ту же ночь в уникальном ряду после этой ночи.Как я могу группировать несколько строк из моей базы данных?

select days.day, pharmacy.name 
from days, 
    pharmacy, 
    pharmacy_night 
where (pharmacy.Id_pharmacy in (SELECT Id_pharmacy 
           FROM pharmacy_in_region(@idregion)) 
    and pharmacy.Id_pharmacy = pharmacy_night.Id_pharmacy 
    and days.Id_day = pharmacy_night.Id_day) 

Нужный выход:

row 1: Monday Pharmacy1_pahrmacy5- 
row 2: Tuesday pharmacy9_ 
+0

Какой DBMS? (Вероятно, будут использоваться функциональные возможности продукта.) – jarlh

+0

так в каждый понедельник одно место –

ответ

0

переписал с современным явным JOIN синтаксисом. Я думаю, вы хотите что-то вроде MySQL GROUP_CONCAT или аналогичную функцию продукта. (Нет DBMS указано ...)

select days.day, GROUP_CONCAT(pharmacy.name) 
from days 
    join pharmacy_night on days.Id_day = pharmacy_night.Id_day 
    join pharmacy on pharmacy.Id_pharmacy = pharmacy_night.Id_pharmacy 
where pharmacy.Id_pharmacy in (SELECT Id_pharmacy 
           FROM pharmacy_in_region(@idregion)) 
group by days.day 
0
SELECT days.day 
    , (STUFF((SELECT CAST(', ' + pharmacy.name AS VARCHAR(MAX)) 
     FROM pharmacy 
     WHERE (pharmacy.Id_pharmacy in (SELECT Id_pharmacy 
           FROM pharmacy_in_region(@idregion)) 
    and pharmacy.Id_pharmacy = pharmacy_night.Id_pharmacy 
    and days.Id_day = pharmacy_night.Id_day) 
     FOR XML PATH ('')), 1, 2, '')) AS Locations 
FROM days, 
    pharmacy_night 

попробовать материал + путь XML, если это SQL Server

+0

что об этой ошибке: Ссылка на объект [dbo]. [Аптека] отличается только от определения объекта [dbo]. [Pharmacy]. –

+0

@GhadirAyache попробуйте отредактировать один .. я снова вернусь к названию таблицы аптеки. Наконец, я удалил .. я не тестировал этот код. Попробуйте и скажите мне – Sachu

+0

@GhadirAyache проверить ошибку buddy..one Аптека имеет верхний регистр P, а второй - маленький. Попробуйте изменить его в коде и проверить результат. – Sachu

Смежные вопросы