|
|
|
| Есть 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`
Подскажите как реализовать? | |
|
|
|
|
|
|
|
для: AlexKv
(01.09.2009 в 13:48)
| | >Нужно выбрать данные из обоих таблиц, но только тех пользователей, у которых
есть запись о себе в Таблице "Data".
Так а собственно это чистый INNER JOIN с условием, которое Вы, фактически, и написали.
FROM `Users` JOIN `Data` ON `Users`.`id` = `Data`.`user_id`
|
| |
|
|
|
|
|
|
|
для: Trianon
(01.09.2009 в 13:56)
| | А в чем отличие INNER JOIN от JOIN вроде одно и тоже или есть нюансы применения? | |
|
|
|
|
|
|
|
для: serjinio
(02.09.2009 в 00:33)
| | ничем не отличается.
Если Вы хотите подчеркнуть внутренний (INNER JOIN) или внешний (LEFT OUTER JOIN) характер соединения - пишете слова INNER / OUTER .
Не хотите - не пишете. | |
|
|
|