URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7038
[ Назад ]

Исходное сообщение
"alias for a table"

Отправлено Kenny , 30-Окт-10 12:55 
Здравствуйте, нужно выполнить что то вроде
SELECT `table1`.*, `table2`.* AS alias
обе таблицы имеют несколько одинаковых полей, алиас присваивается только к полю, но не знаю как сделать для всей таблицы, если кто то поможет, буду очень благодарен :)

Содержание

Сообщения в этом обсуждении
"alias for a table"
Отправлено PavelR , 30-Окт-10 13:14 
> Здравствуйте, нужно выполнить что то вроде
> SELECT `table1`.*, `table2`.* AS alias
> обе таблицы имеют несколько одинаковых полей, алиас присваивается только к полю, но
> не знаю как сделать для всей таблицы, если кто то поможет,
> буду очень благодарен :)

:-))))))))))))


SELECT `table1`.f1, table1.f2 FROM table1
UNION
SELECT `table2`.f3, table2.f4 FROM table2

f1 и  f3, f2 и f4 должны совпадать в типах (AFAIK)


"alias for a table"
Отправлено Kenny , 30-Окт-10 13:31 
> :-))))))))))))
> SELECT `table1`.f1, table1.f2 FROM table1
> UNION
> SELECT `table2`.f3, table2.f4 FROM table2
> f1 и  f3, f2 и f4 должны совпадать в типах (AFAIK)

забыл добавить, используется inner join
SELECT `table1`.*, `table2`.* AS alias FROM `table1` INNER JOIN `table2` ON...


"alias for a table"
Отправлено PavelR , 30-Окт-10 13:52 
>> :-))))))))))))
>> SELECT `table1`.f1, table1.f2 FROM table1
>> UNION
>> SELECT `table2`.f3, table2.f4 FROM table2
>> f1 и  f3, f2 и f4 должны совпадать в типах (AFAIK)
> забыл добавить, используется inner join
> SELECT `table1`.*, `table2`.* AS alias FROM `table1` INNER JOIN `table2` ON...

И что тогда ?
Чо надо то ?

Указать где ближайший магазин с книгами, если в интернете не способны найти инфу, а тем более прочитать официальную документацию по данной вам ссылке.


А может спать пойти, голова /может быть/ прояснится ?


"alias for a table"
Отправлено Kenny , 30-Окт-10 15:40 
> И что тогда ?
> Чо надо то ?
> Указать где ближайший магазин с книгами, если в интернете не способны найти
> инфу, а тем более прочитать официальную документацию по данной вам ссылке.
> А может спать пойти, голова /может быть/ прояснится ?

:)
таблицы разные, юнион не поможет, я хотел узнать есть ли вариант сменить имена полей второй таблицы(так как есть совпадающие с первой)


"alias for a table"
Отправлено PavelR , 30-Окт-10 15:52 
>> И что тогда ?
>> Чо надо то ?
>> Указать где ближайший магазин с книгами, если в интернете не способны найти
>> инфу, а тем более прочитать официальную документацию по данной вам ссылке.
>> А может спать пойти, голова /может быть/ прояснится ?
> :)
> таблицы разные, юнион не поможет, я хотел узнать есть ли вариант сменить
> имена полей второй таблицы(так как есть совпадающие с первой)

Не, я не понимаю, для кого:

1) писали документацию
2) Давали на неё ссылки


select table2.name AS full_name



"alias for a table"
Отправлено PavelR , 30-Окт-10 15:56 
>[оверквотинг удален]
>>> Указать где ближайший магазин с книгами, если в интернете не способны найти
>>> инфу, а тем более прочитать официальную документацию по данной вам ссылке.
>>> А может спать пойти, голова /может быть/ прояснится ?
>> :)
>> таблицы разные, юнион не поможет, я хотел узнать есть ли вариант сменить
>> имена полей второй таблицы(так как есть совпадающие с первой)
> Не, я не понимаю, для кого:
> 1) писали документацию
> 2) Давали на неё ссылки
> select table2.name AS full_name

Ну ты же сам писал в самом начале

"SELECT `table1`.*, `table2`.* AS alias
обе таблицы имеют несколько одинаковых полей, алиас присваивается только к полю,"

в чем вопрос был ???


"alias for a table"
Отправлено Kenny , 30-Окт-10 16:14 
>> Не, я не понимаю, для кого:
>> 1) писали документацию
>> 2) Давали на неё ссылки
>> select table2.name AS full_name

мне не нужен алиас поля :)

> Ну ты же сам писал в самом начале
> "SELECT `table1`.*, `table2`.* AS alias
> обе таблицы имеют несколько одинаковых полей, алиас присваивается только к полю,"
> в чем вопрос был ???

как вывести все поля обеих таблиц, учитывая что есть одинаковые поля и нельзя перечислить их вручную(так как будут добавлятся новые поля во вторую таблицу)

прощу прощения, если не точно изложил свою мысль :)


"alias for a table"
Отправлено PavelR , 30-Окт-10 16:47 
>[оверквотинг удален]
>>> 2) Давали на неё ссылки
>>> select table2.name AS full_name
> мне не нужен алиас поля :)
>> Ну ты же сам писал в самом начале
>> "SELECT `table1`.*, `table2`.* AS alias
>> обе таблицы имеют несколько одинаковых полей, алиас присваивается только к полю,"
>> в чем вопрос был ???
> как вывести все поля обеих таблиц, учитывая что есть одинаковые поля и
> нельзя перечислить их вручную(так как будут добавлятся новые поля во вторую
> таблицу)

Именно потому, что будут добавляться новые поля, то надо:

http://www.opennet.me/openforum/vsluhforumID8/7038.html#5

>и нельзя перечислить их вручную

так не бывает.Избавляйтесь от этого требования, избавите себя от множества грабель.

> прощу прощения, если не точно изложил свою мысль :)


"alias for a table"
Отправлено Kenny , 30-Окт-10 16:58 
> Именно потому, что будут добавляться новые поля, то надо:
> http://www.opennet.me/openforum/vsluhforumID8/7038.html#5
>>и нельзя перечислить их вручную
> так не бывает.Избавляйтесь от этого требования, избавите себя от множества грабель.

спасибо за советы, приму их к сведению, а какие к примеру проблемы из за этого возникнут?



"alias for a table"
Отправлено PavelR , 30-Окт-10 13:53 
>> :-))))))))))))
>> SELECT `table1`.f1, table1.f2 FROM table1
>> UNION
>> SELECT `table2`.f3, table2.f4 FROM table2
>> f1 и  f3, f2 и f4 должны совпадать в типах (AFAIK)
> забыл добавить, используется inner join
> SELECT `table1`.*, `table2`.* AS alias FROM `table1` INNER JOIN `table2` ON...

Перечисляйте все поля вручную. Использование синтаксиса вида table.* - зло.
Точка.

Дискуссия по этому поводу бессмысленна.


"alias for a table"
Отправлено PavelR , 30-Окт-10 13:15 
> Здравствуйте, нужно выполнить что то вроде
> SELECT `table1`.*, `table2`.* AS alias
> обе таблицы имеют несколько одинаковых полей, алиас присваивается только к полю, но
> не знаю как сделать для всей таблицы, если кто то поможет,
> буду очень благодарен :)

http://dev.mysql.com/doc/refman/5.5/en/union.html