Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> выбрать все поля из двух таблиц, а одно поле переименовать 
V
    Опции темы
slutsker
Дата 19.9.2012, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 24.5.2007

Репутация: нет
Всего: нет



добрый день,


есть две таблицы tableA и tableB - у обеих есть поле id
есть запрос вида

Код

SELECT * FROM tableA, tableB WHERE .....


я хочу, чтобы id из первой таблицы обозначалось как Aid, а второе - Bid
видимо нужно использовать AS 
но я не понимаю, как использовать AS, когда я не перечисляю все поля, а использую *
--------------------
Compiling...project.cppLinking...Embedding manifest...========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
PM MAIL   Вверх
Zloxa
Дата 19.9.2012, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161



Цитата(slutsker @  19.9.2012,  15:25 Найти цитируемый пост)
 как использовать AS, когда я не перечисляю все поля, а использую * 

никак.



--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Akina
Дата 19.9.2012, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(slutsker @  19.9.2012,  15:25 Найти цитируемый пост)
я не понимаю, как использовать AS, когда я не перечисляю все поля, а использую * 

А никак. 
Не используй звёздочку. НИКОГДА. Перечисляй нужные тебе поля - руки не отвалятся, а порядку будет куда как больше. Да и серверу легче.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Zloxa
Дата 19.9.2012, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161



Цитата(Akina @  19.9.2012,  15:35 Найти цитируемый пост)
Не используй звёздочку. НИКОГДА.

Не согласен с этой рекомендацией  smile 


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
slutsker
Дата 19.9.2012, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 24.5.2007

Репутация: нет
Всего: нет



а если вы делаете запрос из 10 баз и в каждой есть поле id и по 15 полей
вы что - все выписываете вручную, если вам нужны id?

или вы предлагаете в каждой таблице называть id по разному? 
--------------------
Compiling...project.cppLinking...Embedding manifest...========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
PM MAIL   Вверх
Zloxa
Дата 19.9.2012, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161



Цитата(slutsker @  19.9.2012,  15:25 Найти цитируемый пост)
чтобы id из первой таблицы обозначалось как Aid, а второе - Bid

Если устроит, можно как-то так.
Код

select a.id as aid,a.*,b.id as bid,b.*

Но звездочка так звездочкой и останется, поле ID будет повторено в звездочке

Добавлено @ 14:40
Цитата(slutsker @  19.9.2012,  15:37 Найти цитируемый пост)
а если вы делаете запрос из 10 баз и в каждой есть поле id и по 15 полей
вы что - все выписываете вручную, если вам нужны id?

/*полагаю, когода вы использовали слово "баз" вы имели в виду "таблиц"*/
да. Что в этом сложного? smile
На деле в выборке редко приходится извлекать больше десятка полей. Перечислить их, как правило, не составляет проблемы. Для редких случаев, когда действительно в выборке требуется вбырать 150 полей из 10 таблиц, ничего, в общем, не мешает и скриптец написать, который код генерит. Плюс использование текстовых редакторов c вертикальным выделением и копепастой тут очень кстати приходится.

Это сообщение отредактировал(а) Zloxa - 19.9.2012, 14:52


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
slutsker
Дата 19.9.2012, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 24.5.2007

Репутация: нет
Всего: нет



Zloxa, спасибо
--------------------
Compiling...project.cppLinking...Embedding manifest...========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
PM MAIL   Вверх
Akina
Дата 19.9.2012, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(Zloxa @  19.9.2012,  15:36 Найти цитируемый пост)
Не согласен с этой рекомендацией    

Отказ от использования звёздочек имеет несколько плюсов. Понимаешь, что берёшь - иной раз это очень полезно. Далеко не всегда нужны все поля - серверу меньше пыхтеть над выходным набором.
Из минусов же вижу только одно - запрос съедает больше байтов. Опечатки - не в счёт, это недостаток программера, а не запроса.

Навскидку единственное вменяемое место, где звёздочка и правда бывает нужна - так это нечто вроде COUNT(*)...

Что ещё я упускаю?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Zloxa
Дата 19.9.2012, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161



Akina, Никогда означает никогда. Ты то сам никогда зведочкой не пользуешься? Даже когда просто исследуешь/выверяешь данные? smile

Если область действия этого "никогда" ограничить продуктивным лишь кодом - можно было бы согласился, да все ж сам использую звездочку и временами досадую что не всегда действительно оказывается возможным ее использовать.

Простой пример, - копирование данных в идентичные структуры. Архивы там, логи, временные таблицы. Когда меняется схема, добавляются столбцы об этой второстепенной хренотени часто забываешь. Вспоминаешь, когда отваливается запрос вроде  "insert into archive_table select * from production_table", и радуешься что звездочку написал, а не поля перечислил, иначе бы данные потерял.

Это сообщение отредактировал(а) Zloxa - 19.9.2012, 19:53


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Akina
Дата 19.9.2012, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(Zloxa @  19.9.2012,  20:51 Найти цитируемый пост)
Ты то сам никогда зведочкой не пользуешься? Даже когда просто исследуешь/выверяешь данные? 

Если окончательный вариант запроса у меня содержит звёздочку, то это либо COUNT(*), либо литерал. Других вариантов не нашёл. Да и не может их быть - окончательная доводка у меня всегда включает в т.ч. и разворачивание звёздочек. Точно так же я всегда указываю поля в insert into.

Конечно, я не имел в виду тестовые и промежуточные версии запросов.

Добавлено через 1 минуту и 48 секунд
Цитата(Zloxa @  19.9.2012,  20:51 Найти цитируемый пост)
Вспоминаешь, когда отваливается запрос вроде  "insert into archive_table select * from production_table", и радуешься что звездочку написал, а не поля перечислил, иначе бы данные потерял.

Такие запросы у меня - всегда разовые. 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Zloxa
Дата 19.9.2012, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161



Цитата(Akina @  19.9.2012,  22:45 Найти цитируемый пост)
Такие запросы у меня - всегда разовые.  

У меня - продуктивные. И, как я уже говорил, порой досадую, когда звездочку использовать не удается smile
И, как я уже говорил, спасало - не раз  smile 


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.1290 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.