Как этот запрос будет переписан с использованием JOIN?

  • Автор темы Pavel3
  • 37
  • Обновлено
  • 13, May 2024
  • #1
Как этот запрос будет переписан с использованием JOIN? Есть как минимум 4 таблицы, вот такие: 1. Таблица сообщений pid, статистика, заголовок и т. д. и т. п. 2. Таблица тегов идентификатор, pid, тег 3. Таблица профилей идентификатор профиля, имя пользователя и т. д. и т. п.

4. Таблица рейтингов

идентификатор, pid, идентификатор профиля и т. д. и т. п.

В настоящее время использую:

выбрать что-то что-то

из сообщенийТаблица как p, Таблица профилей как pr, Таблица рейтингов как r, Таблица тегов как t

где

p.stat='y' и

t.pid = p.pid и

r.pid = p.pid и

pr.profileID = r.profileID

«что-то что-то» — это столбцы из ProfilesTable, PostsTable и TagsTable.

Я надеялся сделать это с помощью оператора соединения, примерно так:

выбрать что-то что-то

из сообщенийТаблица как p

левые теги объединенияТаблица как т

на t.pid = p.pid

left присоединиться к рейтингамТаблица как r

на r.pid = p.pid

(здесь я потерялся)

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

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

Я хочу избежать создания новой таблицы, соединяющей postTable с ProfilesTable только для этой цели...

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

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

Спасибо

Pavel3


Рег
02 Jan, 2013

Тем
2

Постов
6

Баллов
26
Тем
49554
Комментарии
57426
Опыт
552966

Интересно