powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Вложенный join или что?
8 сообщений из 8, страница 1 из 1
Вложенный join или что?
    #40023807
Skroubar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Сложно объяснить в чем проблема, лучше на примере.
Вот фотокарточка. Под цифрой 1 таблица general в ней ключи. Я вывожу performer и customer
Код: sql
1.
2.
3.
4.
5.
6.
SELECT GENERAL.ID AS 'Номер заказа',
		concat(customer.surname,' ',customer.name) as 'Имя заказчика',
		concat(performer.surname,' ',performer.name) as 'Имя исполнителя'
	FROM general
    LEFT JOIN performer on general.performer=performer.officer_id
    LEFT JOIN CUSTOMER ON general.Customer=customer.cust_id


И не могу вывести variety_v, помогите пожалуйста. Не нашел в интернетах ничего, потому что не знаю как это назвать даже.
...
Рейтинг: 0 / 0
Вложенный join или что?
    #40023831
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Skroubar,
Ну что за неуважение к аудитории. Вы бы хоть подписали свои таблицы, почему надо вычислять где что по полям? И нейминг у вас потрясающий - письмо дяди Фёдора родителям (явно три разных человека набивали базу). Делаете запрос и джойните его к таблице "general" по полю "order".
Код: sql
1.
2.
3.
4.
(SELECT ut.ID_ORDER,
        vt.Variety_v
    FROM unknown_table ut
       LEFT JOIN variety_table vt ON ut.VARIETY = vt.Variety_id) v


Используйте псевдонимы и человеческое форматирование - текст запроса заиграет новыми красками.
Код: sql
1.
2.
3.
4.
5.
6.
SELECT g.ID AS 'Номер заказа',
       concat(c.surname, ' ', c.name) AS 'Имя заказчика',
       concat(p.surname, ' ', p.name) AS 'Имя исполнителя'
 FROM general g
    LEFT JOIN performer p ON g.performer = p.Officer_id
    LEFT JOIN customer c ON  g.customer =  c.Cust_id
...
Рейтинг: 0 / 0
Вложенный join или что?
    #40024028
Skroubar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluck99, спасибо.
Как я назвал это не важно, я не просил мне сделать запрос, можно было бы просто обойтись примером, где вместо имен написать `Table 1` `table 2`. На пике было понятно что хочется вывести.
В любом случае ничего не получилось
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
(SELECT ot.ID_ORDER, vt.Variety_v
    FROM `order` ot
       LEFT JOIN variety vt ON ot.VARIETY = vt.Variety_id) AS V1
 JOIN
    (SELECT g.ID AS 'Номер заказа', g.`order`
       concat(c.surname, ' ', c.name) AS 'Имя заказчика',
       concat(p.surname, ' ', p.name) AS 'Имя исполнителя'
 FROM general g
    LEFT JOIN performer p ON g.performer = p.Officer_id
    LEFT JOIN customer c ON  g.customer =  c.Cust_id) AS V2
    ON g.`order`= ot.ID_ORDER
...
Рейтинг: 0 / 0
Вложенный join или что?
    #40024075
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Skroubar
В любом случае ничего не получилось
Что именно не получилось? Я не смог понять логику в вашем запросе.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT g.ID AS 'Номер заказа',
       concat(c.surname, ' ', c.name) AS 'Имя заказчика',
       concat(p.surname, ' ', p.name) AS 'Имя исполнителя',
       vt.Variety_v
 FROM general g
    LEFT JOIN performer p ON g.performer = p.Officer_id
    LEFT JOIN customer c ON  g.customer =  c.Cust_id
    LEFT JOIN (SELECT o.ID_ORDER,
                      v.Variety_v
                FROM `order` o
                   LEFT JOIN variety v ON o.VARIETY = v.Variety_id) vt ON vt.ID_ORDER = g.`order`
...
Рейтинг: 0 / 0
Вложенный join или что?
    #40024079
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Skroubar
Как я назвал это не важно
Это крайне важно. Грамотный нейминг очень экономит силы и время на разработку. И чем крупнее у вас проект, тем серьезнее надо относиться к выработке правил для именования полей, переменных и т.п. Чтобы не было такой чепухи как `order` и т.п. Поэтому вы напрасно становитесь в позу - вам подсказывают хорошие практики, которые помогут вам же. Если вы, конечно, планируете работать в IT.
...
Рейтинг: 0 / 0
Вложенный join или что?
    #40024130
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluck99,

Офисный феншуй - практики и требования к стилю написания кода, вплоть до отступов и длины строки, правила именования, складывания по папкам и т.д. в любой нормальной организации расписаны детально и выложены во внутреннюю Вики подробно. Равно как и правила проведения коммитов и пользования всем дев - окружением.

Некоторые просто, ссылаются на типовые правила и рекомендации, типа у нас PSR-xxx его надо соблюдать. Лично мне, многое в этих типовых рекомендациях не нравится, т.к. код становится часто вытянут "в столбик" и совершенно не читаем. Но ..

соглашусь, если претендент не следует стандартам фирмы - нафиг, независимо от его полезности .. бардак будет обеспечен.
...
Рейтинг: 0 / 0
Вложенный join или что?
    #40024136
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Skroubar
Вот фотокарточка.
Вот толку с такой фотокарточки...

Идите на dbfiddle . Там разместите структуры таблиц, дампы данных, убедитесь, что всё выполняется без ошибок, и дайте линк на fiddle с данными и желаемый результат для именно этих данных. Тогда можно не просто ответить, а сразу и продемонстрировать на практике, а заодно и пробовать разные варианты запросов - в т.ч. и планы посмотреть на предмет получения лучшей производительности.
...
Рейтинг: 0 / 0
Вложенный join или что?
    #40024567
Skroubar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем большое спасибо. Я не прав на счет нейминга, извините. Но сейчас в рамках вопроса, это было не совсем важно.
-
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Вложенный join или что?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]