У меня есть следующая база данных:
Автомобиль: {[CarID, HorsePower, Brand, HeadDesigner]}
DesignsCar: {[CarID, DesID]}
Дизайнер: {[DesID, Name]}
Вы должны заметить, что, хотя у каждого автомобиля есть только 1 HeadDesigner, несколько человек могут проектировать автомобили (как в работе с ними).
Скажем, у меня 10 автомобилейв моей базе данных.Для CarID (1..9) только один DesID на CarID в DesignsCar.Однако для carID 10 у нас работают 3 человека (carID имеет 3 записи в DesignsCar, потому что над ним работали 3 человека).
Скажи, что я делаю это:
select *
from car c
left outer join designscar ds on c.carid = ds.carid
left outer join designer d on frb.persnr = r.persnr
Это дает мне 12 строк, когда я хочу только 10. Причина, почему это дает мне 12 строк, должна быть ясна: для carID 10 у нас есть 3люди, работающие над этим (carID имеет 3 записи в DesignsCar, потому что над ним работали 3 человека).
Надеюсь, я хорошо объяснил эту проблему, и вот мой вопрос:
Как мне изменить приведенный выше запрос, чтобы я получил 10 строк.Для CarID 10 я бы хотел, чтобы три дизайнера были написаны в одном столбце (например, через запятую, но все работает, пока в одном столбце).
Возможно ли это?