выбрать больше строк в качестве столбца - PullRequest
3 голосов
/ 07 мая 2010

У меня проблема с MySQL

Я хочу получить результат следующего запроса в var и использовать его для обновления в триггере. Я пытаюсь отделить имена запятыми

Запрос возвращает более одной строки

SELECT t.naam
FROM    trefwoorden t
INNER JOIN organisaties_has_trefwoorden AS o ON (t.id_trefwoorden = o.id_trefwoorden)
WHERE   o.id_organisaties = NEW.id_organisaties;

Вот триггер

CREATE TRIGGER updCheck_After AFTER
UPDATE ON organisaties_has_trefwoorden 
FOR EACH row    

    UPDATE organisaties o
    SET    o.trefwoorden_flat = 
    (
        SELECT t.naam
        FROM    trefwoorden t
        INNER JOIN organisaties_has_trefwoorden AS o ON (t.id_trefwoorden = o.id_trefwoorden)
        WHERE   o.id_organisaties = NEW.id_organisaties;        
    )
    WHERE  o.id_organisaties = NEW.id_organisaties  

Вопрос в том, можно ли выбрать больше строк, разделенных запятой в 1 столбец или есть другое решение?

кому-то предложение?

1 Ответ

3 голосов
/ 07 мая 2010
UPDATE  organisaties o
SET     o.trefwoorden_flat = 
        (
        SELECT  GROUP_CONCAT(t.naam SEPARATOR ',')
        FROM    trefwoorden t
        INNER JOIN
                organisaties_has_trefwoorden AS o
        ON      t.id_trefwoorden = o.id_trefwoorden
        WHERE   o.id_organisaties = NEW.id_organisaties       
        )
WHERE   o.id_organisaties = NEW.id_organisaties  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...