Удивление, если кто-то может объяснить разницу между этими двумя запросами и сообщить, почему один работает, а другой нет.SELECT DISTINCT. Пожалуйста, объясни?
Этот продукт работает. Дает мне две записи отдельного значения GantryRtn и их соответствующее значение SSD.
SELECT DISTINCT GantryRtn as Gantry, ROUND(Field.SSD,1) as SSD
FROM Field, PlanSetup, Course, Patient, Radiation
WHERE Field.RadiationSer=Radiation.RadiationSer
AND Radiation.PlanSetupSer=PlanSetup.PlanSetupSer
AND PlanSetup.CourseSer=Course.CourseSer
AND Course.PatientSer=Patient.PatientSer
AND Patient.PatientId='ZZZ456'
AND PlanSetup.PlanSetupId='F T1 R CHEST'
Однако есть внешний ключ в полей таблицы, ссылки на первичный ключ другой таблицы, которая содержит простое текстовое имя для каждого поля. Я также хотел бы извлечь это имя (в отдельном запросе, если нужно), вытащив этот внешний ключ RadiationSer. Но как только я положил RadiationSer в запрос, я теряю результат DISTINCT.
SELECT DISTINCT GantryRtn as Gantry, ROUND(Field.SSD,1) as SSD, Field.RadiationSer
FROM Field, PlanSetup, Course, Patient, Radiation
WHERE Field.RadiationSer=Radiation.RadiationSer
AND Radiation.PlanSetupSer=PlanSetup.PlanSetupSer
AND PlanSetup.CourseSer=Course.CourseSer
AND Course.PatientSer=Patient.PatientSer
AND Patient.PatientId='ZZZ456'
AND PlanSetup.PlanSetupId='F T1 R CHEST'
Этот второй запрос дает мне 7 записей без различных GantryRtn значений.
Почему это происходит?
Я исследовал использование GROUP BY, но это замедляет запрос вниз и, как представляется, вытаскивает ВСЕ GantryRtn из базы данных (100 записей).
Благодаря Грег
Возможный дубликат [Выбрать отдельно от нескольких полей с использованием sql] (http://stackoverflow.com/q/546804/), [sql-запрос, отличный от нескольких столбцов] (http://stackoverflow.com/q/1503080 /), [DISTINCT в нескольких столбцах] (http://stackoverflow.com/q/5804529/) – outis
Привет, спасибо, но я не понимаю, почему эти запросы (и мой первый) работают, но мой второй не работает, т. Я уже выбираю несколько столбцов с одним DISTINCT в моем первом запросе. Я хочу понять, почему добавление другого столбца приводит к сбою DISTINCT? Поэтому вопрос: «Почему он не работает?» а не «Как мне сделать эту работу?» – Barbs