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

Форум MySQL

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

 

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

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

тема: Выборка из 2-х таблиц
 
 автор: AlexKv   (01.09.2009 в 13:48)   письмо автору
 
 

Есть 2 таблицы:

Users
id int unsigned not null auto_increment,
reg_date datetime not null,
login varchar(30) not null,
hash varchar(32) not null,
email varchar(255) not null,
type enum('admin','user'),
PRIMARY KEY (id)

Data
id int unsigned not null auto_increment,
title tinytext not null,
name tinytext not null,
text text not null,
user_id int unsigned not null,
PRIMARY KEY (id)

Запись в табл. Users есть, но необязательно есть соответствующая ей запись
в табл. Data, которые соединяются по полям `Users.id` = `Data.user_id`

Нужно выбрать данные из обоих таблиц, но только тех пользователей, у которых
есть запись о себе в Таблице "Data".

Иначе говоря, значение `Users.id` должно присутствовать в поле `Data.user_id`
Подскажите как реализовать?

  Ответить  
 
 автор: Trianon   (01.09.2009 в 13:56)   письмо автору
 
   для: AlexKv   (01.09.2009 в 13:48)
 

>Нужно выбрать данные из обоих таблиц, но только тех пользователей, у которых
есть запись о себе в Таблице "Data".

Так а собственно это чистый INNER JOIN с условием, которое Вы, фактически, и написали.
FROM `Users` JOIN `Data` ON `Users`.`id` = `Data`.`user_id`

  Ответить  
 
 автор: serjinio   (02.09.2009 в 00:33)   письмо автору
 
   для: Trianon   (01.09.2009 в 13:56)
 

А в чем отличие INNER JOIN от JOIN вроде одно и тоже или есть нюансы применения?

  Ответить  
 
 автор: Trianon   (02.09.2009 в 00:48)   письмо автору
 
   для: serjinio   (02.09.2009 в 00:33)
 

ничем не отличается.
Если Вы хотите подчеркнуть внутренний (INNER JOIN) или внешний (LEFT OUTER JOIN) характер соединения - пишете слова INNER / OUTER .
Не хотите - не пишете.

  Ответить  
Rambler's Top100
вверх

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