Не работает Distinct в SQL

247
23 апреля 2022, 06:30

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

Вот, оно по идее должно вывести данные в 4 строчки, а выводит в 32. По тестил и узнал, что - это все происходит после указания в SELECT transport.name, transport_work.amount,transport_work.price,material.name, material_work.amount,material_work.price, instrument.name, instrument_work.amount,instrument_work.price, а до указания их все работала правильно.

После чего я вспомнил про DISTINCT, но он мне не помог к сожалению. Кто может подсказать в чем может быть причина ?

select distinct team.name,user1.last_name,user1.first_name,object1.address,work1.type_of_work,work1.start_date,work1.completion_date,
transport.name, transport_work.amount,transport_work.price,material.name, material_work.amount,material_work.price,
instrument.name, instrument_work.amount,instrument_work.price
from user1
join employee on  employee.user_id  = user1.user_id
join team on    employee.team_id = team.team_id
join team_object on team_object.team_id = team.team_id
join object1 on  team_object.object_id = object1.object_id
join work1 on work1.team_object_id = team_object.team_object_id
join instrument_work on instrument_work.work_id = work1.work_id
join material_work on material_work.work_id = work1.work_id
join transport_work on transport_work.work_id = work1.work_id
join transport on transport_work.transport_id = transport.transport_id
join material on material_work.material_id = material.material_id
join instrument on instrument_work.instrument_id = instrument.instrument_id
Answer 1

Все очень просто. DISTINCT работает по всем ячейкам в строке в случае JOIN. Чтобы он заработал правильно и красиво, я бы на вашем месте использовал WITH, а в итоговом запросе уже DISTINCT. Но это так. Личное мнение.

READ ALSO
Cursor не меняет значение pymysql

Cursor не меняет значение pymysql

Возможно я вообще не понимаю как работает cursor при работе с бд, но проблема такаяЯ делаю discord бота и когда пользователь вводит команду он должен...

212
MySQL обновить поле в таблице

MySQL обновить поле в таблице

Имеется таблица import_desc с полями sku и description

245
LEFT OUTER JOIN mysql - почему-то не работает запрос

LEFT OUTER JOIN mysql - почему-то не работает запрос

Пытаюсь составить запрос в бд mysqlВ бд есть таблицы label_person (метки) и answers (ответы)

150
Помогите сделать условие проверки существования таблицы перед импортом Ansible

Помогите сделать условие проверки существования таблицы перед импортом Ansible

Имеется такая команда в ansible, которая импортирует в базу mysql какие-то таблицыПомогите сделать условие проверки существования таблицы перед...

91