powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Проблема с запросом, неправильное построение
9 сообщений из 9, страница 1 из 1
Проблема с запросом, неправильное построение
    #39944080
BearSib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите правильно запрос составить
Таблица db_table_main

id | name | some_val

Таблица db_table_second

id | parent_id | data_type | data_val

SELECT * FROM db_table_main AS t1 RIGHT JOIN db_table_second AS t2 ON t1.id=t2.parent_id WHERE t1.id=115

нужно выбрать все из первой и дополнить вариантами из второй. Вариантов может быть сотня, а может и не быть совсем.
При использовании LEFT JOIN выбирается только одна строка, что логично
при использовании RIGHT JOIN выбирается все, но проблема в том, что правое на то и правое, что дополняет правую таблиу левой, и если ниодного параметра дополнительного во второй таблице нет, то возвращается нуль (((
А строка из первой таблицы нужна независимо от того, есть данные во второй таблице или нет...
Хелп?
...
Рейтинг: 0 / 0
Проблема с запросом, неправильное построение
    #39944092
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BearSib
строка из первой таблицы нужна независимо от того, есть данные во второй таблице или нет
Значит, LEFT JOIN.
BearSib
При использовании LEFT JOIN выбирается только одна строка, что логично
Сфига бы оно логично-то?
...
Рейтинг: 0 / 0
Проблема с запросом, неправильное построение
    #39944095
BearSib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
с тигали что лефт дополняет левую таблиу правой,
левая таблица одна строка
правая десять
он лефтом тупо находит первое вхождение из правой дополняет эту одну строку из левой и все, работа выполнена для него. Он не смотрит дальше. Составьте запрос и посмотрите как отрабатывает...

пока решил вопрос через Join без условия, с дальшейшей обработкой в коде. Но это выглядит как костыль, а хочется изящный запрос (((
...
Рейтинг: 0 / 0
Проблема с запросом, неправильное построение
    #39944097
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BearSib
он лефтом тупо находит первое вхождение из правой дополняет эту одну строку из левой и все, работа выполнена для него. Он не смотрит дальше.
Бред сивой кобылы. Сколько соответствий есть, столько итоговых записей и получится. Это кто-то не умеет вывести записи больше чем одну, не иначе - на SO такие "умельцы" выступают чуть не ежедневно, насмотрелся уже...
...
Рейтинг: 0 / 0
Проблема с запросом, неправильное построение
    #39944117
BearSib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А конструктивные ответы не ждать да?
построй запрос конкретный и покажи, что это бред сивой кобылы...

id | name | val
1 | f-1 | v-1
2 | f-2 | v-2
3 | f-3 | v-3

id | parent_id | type | val
1 | 1 | 1 | val-1
2 | 1 | 2 | val-2
3 | 3 | 1 | val-15
4 | 3 | 3 | val-89
...
Рейтинг: 0 / 0
Проблема с запросом, неправильное построение
    #39944118
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BearSib
построй запрос конкретный и покажи, что это бред сивой кобылы...
Да легко.
Выкладывай CREATE TABLE и INSERT INTO скрипты - будет тебе fiddle.
...
Рейтинг: 0 / 0
Проблема с запросом, неправильное построение
    #39944173
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мда... походу скриптов мы не дождёмся. Ну да мы не гордые, сами сделаем.

fiddle .
...
Рейтинг: 0 / 0
Проблема с запросом, неправильное построение
    #39944207
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BearSibПри использовании LEFT JOIN выбирается только одна строка, что логично
логично, когда записали условие в WHERE, и обрубили весь смысл LEFT JOIN
пробуйте фокус такой, хотя это очень странно выглядит...
Код: sql
1.
t1 LEFT JOIN t2 ON t1.id=t2.parent_id  AND t1.id=115
...
Рейтинг: 0 / 0
Проблема с запросом, неправильное построение
    #39944267
BearSib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо! я вчера к ночи допер, что все в условия обернул и он по условию ON и WERE мне выдавал, потому и были нули.
Вынес условия за скобки и все заработало.
Еще раз спасибо!
И за наглядный код тоже
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Проблема с запросом, неправильное построение
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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