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

  • Автор темы I AM
  • Обновлено
  • 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 и также читать ее...

Спасибо

I AM


Рег
23 Jul, 2011

Тем
403760

Постов
400028

Баллов
2418908
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно