Столбец выбора SQL, если существует более одного имени - PullRequest
0 голосов
/ 23 ноября 2011

У меня есть этот запрос

select *
from alldistros t1
LEFT join origin t2 on t1.name=t2.name
LEFT join desktop t3 on t2.name=t3.name
LEFT join beginnerdistributions t4 on t3.name=t4.name

, который он добавляет ко всем моим таблицам.Но теперь, когда я хочу выбрать поле имени (которое есть во всех них), я не могу показать его.Это просто пусто, когда я это называю.И я бы так подумал, поскольку существует более 1 столбца с одинаковыми именами.

Что я могу сделать, чтобы это исправить?

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

Ответы [ 3 ]

3 голосов
/ 23 ноября 2011

Вы можете использовать ключевое слово «AS» для названия столбца. Например:

select t1.name AS DistroName, t2.name AS OriginName, t3.name AS DesktopName
from alldistros t1
LEFT join origin t2 on t1.name=t2.name
LEFT join desktop t3 on t2.name=t3.name
LEFT join beginnerdistributions t4 on t3.name=t4.name
1 голос
/ 23 ноября 2011
select
  t1.name as t1_name,
  t2.name as t2_name,
  t3.name as t3_name
from alldistros t1
LEFT join origin t2 on t1.name=t2.name 
LEFT join desktop t3 on t2.name=t3.name 
LEFT join beginnerdistributions t4 on t3.name=t4.name
0 голосов
/ 23 ноября 2011

Не уверен, что это только Oracle, но USING может сделать это для вас для специальных запросов:

SELECT *
FROM TABLEA
JOIN TABLEB USING (NAME)

Это вернет только один столбец NAME из SELECT *.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...