У меня есть три таблицы: R, S и P.SQL, соединяющий три таблицы, приоритет соединения
Таблица R Соединения с S через внешний ключ; там должно быть по крайней мере одна запись в S, так что я могу JOIN:
SELECT
*
FROM
R
JOIN S ON (S.id = R.fks)
Если нет записи в S, то я не получаю никаких строк, это нормально.
Тогда таблица S соединяется с P, где записи Р может или не может присутствовать и вместе с С.
Так что я
SELECT
*
FROM
R
JOIN S ON (S.id = R.fks)
LEFT JOIN P ON (P.id = S.fkp)
Что делать, если я хотел второй РЕГИСТРИРУЙТЕСЬ быть связаны в S не R, как если бы я мог использовать круглые скобки:
SELECT
*
FROM
R
JOIN (S ON (S.id = R.fks) JOIN P ON (P.id = S.fkp))
Или это уже естественное поведение декартова продукта между R, S и P?
Вы можете уточнить эту часть «Что, если бы я хотел, чтобы второй РЕГИСТРИРУЙТЕСЬ быть привязанным к S не R» Сейчас таблицы соединяются, как R объединения с S, а затем покинул присоединиться к P. –
Пытаюсь чтобы понять, есть ли способ, которым я могу отдать предпочтение объединению, например, если они были арифметическими операторами. Я не понимаю, если это неявно в условии соединения или нет. – vulkanino
Дайте нам пример данных о том, чего вы надеетесь достичь, это отличается от обычного соединения, и мы можем лучше показать вам, что делать. Возможно, производная таблица может делать то, что вы хотите, но я не уверен точно, что вы хотите. – HLGEM