2013-03-04 6 views
0

Я присоединился к 4 столам вместе.Именование/ссылка соединенных таблиц

Как я могу на это ссылаться? Могу ли я или мне нужно назвать эту таблицу?

Это просто внутренние соединения:

select * 
from table1 as 1 
inner join table2 as 2 on x=y 
inner join table3 as 3 on a=y 
inner join table4 as 3 on z=a 

Теперь, когда я обращаюсь к нему позже в коде, как я могу это сделать?

Я попытался поместить все (от table1 до z = a) в скобки и поставить «как tablename» за ним - это не сработало.

Любые подсказки?

ответ

1

После того, как вы предоставите имя на псевдоним таблицы, вы бы ссылаться на псевдоним в вашем присоединяется, а также в вашем SELECT списке:

select t1.x, 
    t2.y, 
    t3.y, 
    t4.a 
from table1 as t1 
inner join table2 as t2 
    on t1.x = t2.y 
inner join table3 as t3 
    on t1.a = t3.y 
inner join table4 as t4 
    on t1.z = t4.a 

Вы увидите, что, когда я предоставил псевдоним таблицы выше Я дал имя, которое начиналось с буквы, а не числа.

+0

Я понимаю, но когда я теперь обращаюсь к чему-то из t3, чтобы отфильтровать что-то, я все равно получу каждый столбец из каждой таблицы, с которой я объединился? или он будет возвращать только строки/столбцы этой конкретной таблицы, на которые я ссылался? – msa

+0

@msa Если вы используете предложение WHERE для фильтрации данных из 't3', вы получите только строки, которые соответствуют. – Taryn

+0

yes - но будет ли эта строка содержать все столбцы таблиц, к которым я присоединился, или только столбцы, принадлежащие t3? – msa

Смежные вопросы