SQL, имеющий / где оператор в столбце псевдонимов - PullRequest
0 голосов
/ 08 декабря 2018

Я пытаюсь установить результат столбца, в зависимости от значения, указанного в результате запроса в таблице псевдонимов

update autos
    set risico = 0
    where in (select leden.lidnaam, count(deelnemers.evenementnr) as AantalDeelnames
    from leden 
        full join autos on leden.lidnr = autos.lidnr
        full join deelnemers on autos.autonr = deelnemers.autonr
        group by leden.lidnaam
        having AantalDeelnames = 0)

Ответы [ 2 ]

0 голосов
/ 08 декабря 2018

Вы можете просто повторить агрегатное выражение в предложении has:

update autos
    set risico = 0
    where in (select leden.lidnaam, count(deelnemers.evenementnr) as AantalDeelnames
    from leden 
        full join autos on leden.lidnr = autos.lidnr
        full join deelnemers on autos.autonr = deelnemers.autonr
        group by leden.lidnaam
        having count(deelnemers.evenementnr) = 0)
0 голосов
/ 08 декабря 2018

У вас нет поля, указанного в вашем операторе IN.У вас должно быть имя поля для сравнения с оператором select.Это будет выглядеть как WHERE field_name IN (SELECT .....)

...