Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Открытие нескольких таблиц
 
 автор: Agronom   (04.04.2006 в 18:38)   письмо автору
 
 

Здравствуйте друзья.

Объясните, пожалуйста принцип построения запросов к нескольким таблицам
например у меня 2 таблицы user и msg

user:
  ---------------------
  | id  | name | email
  ---------------------
  | 1   | name1| .ru
  | 2   | name2| .com  
  | ... | ...  | ...

msg:
  ---------------------
  | id  | id_user | message
  ---------------------
  | 1   | 1       | text
  | 2   | 2       | text2  
  | 3   | 1       | text3
  | ... | ...     | ...

В итоге нужно получить выборку, чтобы вывести циклом следующее:

text / name1 / .ru
text2/ name2 / .com
text3/ name1 / .ru
... / ...

   
 
 автор: Trianon   (04.04.2006 в 18:46)   письмо автору
 
   для: Agronom   (04.04.2006 в 18:38)
 

Строится внутреннее соединение таблиц на условии msg.id_user = user.id
SELECT message, name, email 
FROM msg JOIN user ON msg.id_user = user.id

Можно написать и по-старому
SELECT message, name, email 
FROM msg, user 
WHERE msg.id_user = user.id

Но, на мой взгляд, так правильней.

Если имя столбика одинаковое у двух таблиц - его нужно уточнять именем таблицы, а для помещения в результирующий набор, еще и наделять алиасом. Например:
SELECT msg.id as msg_id, message, name, email 
FROM msg JOIN user ON msg.id_user = user.id

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования