powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / JOIN с уникальной строкой из правой таблицы
10 сообщений из 10, страница 1 из 1
JOIN с уникальной строкой из правой таблицы
    #36798154
pixx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, уважаемые завсегдатаи форума!
В ходи изучения SQL возник такой вопрос.
Есть две таблицы
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
A: id, name, theme_id
 1  | foo |  2 
 2  | bar |  2 
 3  | boo |  1 

B: id, link, theme_id
 1  | ff.ru  |  2 
 3  | aa.ru |  2 
 5  | bb.su |  3 

Запрос:
Код: plaintext
1.
2.
SELECT *
FROM A LEFT JOIN B ON A.theme_id=B.theme_id
GROUP BY A.id

Дает результат
Код: plaintext
1.
2.
 1  | foo |  2  |  1  | ff.ru |  2 
 2  | bar |  2  |  1  | ff.ru |  2 
 3  | boo |  1 | NULL | NULL | NULL

Вопрос: как объединить каждую строку таблицы А только со одной уникальной строкой из таблицы B по параметру theme_id
То есть, чтобы в результате строка B.id=1 не объединилась два раза со строками A.id IN(1,2), а был такой результат:
Код: plaintext
1.
2.
 1  | foo |  2  |  1  | ff.ru |  2 
 2  | bar |  2  |  3  | aa.ru |  2 
 3  | boo |  1  | NULL | NULL | NULL

Что-то вроде придания полю B.id в результирующей выборки ключа UNIQUE
...
Рейтинг: 0 / 0
JOIN с уникальной строкой из правой таблицы
    #36798165
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
рекомендую обратиться в форум по Вашей СУБД
т.к. к проектированию БД тема не относится
...
Рейтинг: 0 / 0
JOIN с уникальной строкой из правой таблицы
    #36798186
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pixx , как вариант построить полный декартов квадрат таблиц, а потом исключить ненужные строки...

Только каким боком это к проектированию БД?
...
Рейтинг: 0 / 0
JOIN с уникальной строкой из правой таблицы
    #36798849
pixx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я просто не нашел раздела для вопросов по SQL. По сути моя задача относится более к вопросу проектирования базы (возможно при проектировании ошибка), чем к какой-то реализации СУБД.
...
Рейтинг: 0 / 0
JOIN с уникальной строкой из правой таблицы
    #36798851
pixx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa pixx , как вариант построить полный декартов квадрат таблиц, а потом исключить ненужные строки...

А как исключить так, чтобы в столбце B.id были только уникальные значения?
...
Рейтинг: 0 / 0
JOIN с уникальной строкой из правой таблицы
    #36799204
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pixxА как исключить так, чтобы в столбце B.id были только уникальные значения?
Для приведёного примера достаточно к селекту приписать дистинкт. Потом убрать остальные "лишние" строки другими условиями...

Но это уж точно не проектирование БД.
...
Рейтинг: 0 / 0
JOIN с уникальной строкой из правой таблицы
    #36799697
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pixxВопрос: как объединить каждую строку таблицы А только со одной уникальной строкой из таблицы B по параметру theme_id
То есть, чтобы в результате строка B.id=1 не объединилась два раза со строками A.id IN(1,2), а был такой результат
Сперва ты должен определить условие по которому строка с B.id=1 не должна объединяться два раза со строками A.id IN(1,2), а потом уже как написать это условие будет дело техники.
...
Рейтинг: 0 / 0
JOIN с уникальной строкой из правой таблицы
    #36799729
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pixxЯ просто не нашел раздела для вопросов по SQL.А я и не говорил, что Вам нужно искать такой раздел
Я говорилПаганельрекомендую обратиться в форум по Вашей СУБД
...
Рейтинг: 0 / 0
JOIN с уникальной строкой из правой таблицы
    #36799734
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pixxПо сути моя задача относится более к вопросу проектирования базыТак, как Вы ее описали - нет
Опишите, пожалуйста, по-другому, со схемой данных, с описанием природы данных, которые необходимо хранить...
В общем, как принято описывать задачи по проектированию БД

(жаль нету на этом форуме чего-то похожего на "Рекомендации по оформлению сообщений",
как на форуме по MS SQL...)
...
Рейтинг: 0 / 0
JOIN с уникальной строкой из правой таблицы
    #36808178
Код: plaintext
1.
2.
3.
SELECT *
FROM A LEFT JOIN B ON A.theme_id=B.theme_id
GROUP BY A.id
Врёте, дорогой, ваш запрос работать не может. По правилам SQL в списке SELECT сгруппированного запроса могут буть указаны лишь столбцы из списка группировки и вычисляемые на группе столбцы (с функциями типа MAX, MIN, SUM и т.д.) А у вас звёздочка (*) написана, да ещё и в результате якобы 5 столбцов. Брехня.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / JOIN с уникальной строкой из правой таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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