SQL запрос @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 14 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Заголовок сообщения: SQL запрос
Сообщение Добавлено: 29 Сентябрь 2006, 06:55:01 
есть две таблицы
Код:
CREATE TABLE `table1` (
  `id` int(10),
  `name` varchar(10)
);

CREATE TABLE `table2` (
  `id` int(10),
  `name` varchar(10)
)


запрос
Код:
SELECT * FROM table1
JOIN table2 ON table2.id = table1.id


выдаст две пары колонок:
id | name | id | name

как узнать какой таблице принадлежит каждая колонка?
:beer:
MpaK999 Муж.
участник
1
Сообщения: 1716
Зарегистрирован: 14.11.02
Откуда: Ufa/Russia
Сообщение Добавлено: 29 Сентябрь 2006, 08:00:20 
as ?

_________________
:: metal kick ass ::
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 29 Сентябрь 2006, 10:09:15 

MpaK999 писал(а):
as ?


это я знаю,
но у меня там звездочка стоит, я не хочу вводить вручную имена полей, а взять все доступные
Acid~Jazz Муж.
соучастник
1
Сообщения: 740
Зарегистрирован: 12.04.03
Откуда: Зеленоград
Сообщение Добавлено: 29 Сентябрь 2006, 11:16:57 
AlexShop, не ленитесь, наверняка там полей не больше пары десятков :)

_________________
начинающий менеджер . http://acidjazz.photosight.ru/
diezel2005 Муж.
новый человек
16
Сообщения: 140
Зарегистрирован: 12.08.06
Откуда: Украина
Сообщение Добавлено: 29 Сентябрь 2006, 11:35:02 
Вообще-то это зависит от реализации БД. в майскл, например, у тебя поля одинаково называтся не будут, и 2-ой сет будет с добавлением "_1" к названию поля

_________________
Не можешь вынести хамства? Сосчитай до десяти и вынеси хама.
anuke Муж.
новый человек
0
Сообщения: 4
Зарегистрирован: 08.09.06
Сообщение Добавлено: 29 Сентябрь 2006, 14:27:06 
можно (нужно) дать алиасы полям и быть уверенным в том как каждое поле называется


diezel2005 писал(а):
Вообще-то это зависит от реализации БД. в майскл, например, у тебя поля одинаково называтся не будут, и 2-ой сет будет с добавлением "_1" к названию поля


если вы говорите про mysql, то он вернет одиковые названия полей
Jamakaser Муж.
участник
91
Сообщения: 1163
Зарегистрирован: 26.01.05
Сообщение Добавлено: 29 Сентябрь 2006, 14:52:33 
Не нужно ленится вводить название полей. Вы точно будете знать какие данные получите а какие нет.


MpaK999 писал(а):
as ?



:beer:

_________________
Найди кликабельный пиксель -->
diezel2005 Муж.
новый человек
16
Сообщения: 140
Зарегистрирован: 12.08.06
Откуда: Украина
Сообщение Добавлено: 29 Сентябрь 2006, 14:56:56 
anuke, Ну вы хоть попробуйте, прежде чем говорить. по SQL 92 не может быть одинаковых имен полей.
Вот пример для MySQL:
SELECT * FROM opt_products
JOIN opt_products ON opt_products.productid = opt_products.productid
второй сет возвращает с "_1", третий с "_2"
попробую щас для MSSQL
anuke Муж.
новый человек
0
Сообщения: 4
Зарегистрирован: 08.09.06
Сообщение Добавлено: 29 Сентябрь 2006, 16:06:21 
Код:
select * from products p left join categories c on c.id=p.category_id limit 1;
я понимаю мы говорим об одном и том же?
может мой мускл скомпилен для ansii, а не sql92/ тут я не силен.
Код:

+-------+------+
| id    | id   |
+-------+------+
| 18362 |   33 |
+-------+------+

fStrange Муж.
соучастник
10
Сообщения: 900
Зарегистрирован: 25.07.05
Откуда: Ростов-на-Дону
Сообщение Добавлено: 2 Октябрь 2006, 08:56:14 
кажись можно обратиться к полному имени поля
table1.id , table2.id

_________________
Записки мобильного веб разработчика
abraitcev
новый человек
6
Сообщения: 165
Зарегистрирован: 28.09.02
Откуда: Murmansk
Сообщение Добавлено: 2 Октябрь 2006, 14:55:07 
если id равны, то какая разница какой из таблиц они принадлежат?
anuke Муж.
новый человек
0
Сообщения: 4
Зарегистрирован: 08.09.06
Сообщение Добавлено: 2 Октябрь 2006, 16:19:08 

abraitcev писал(а):
если id равны, то какая разница какой из таблиц они принадлежат?


id совсем не одинаковые :dont:
разве не видно?
abraitcev
новый человек
6
Сообщения: 165
Зарегистрирован: 28.09.02
Откуда: Murmansk
Сообщение Добавлено: 2 Октябрь 2006, 18:53:46 
это у Вас они не одинаковые, а в результате запроса
Код:
SELECT * FROM table1
JOIN table2 ON table2.id = table1.id
id будут только одинаковые.
fStrange Муж.
соучастник
10
Сообщения: 900
Зарегистрирован: 25.07.05
Откуда: Ростов-на-Дону
Сообщение Добавлено: 3 Октябрь 2006, 08:34:56 
abraitcev, какая разница...
name то то могут быть неодинаковыми

_________________
Записки мобильного веб разработчика
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 14 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100