PDA

Просмотр полной версии : Вопрос по mysql


kdk
29.10.2009, 17:55
есть 3 бд

CREATE TABLE `coments` (
`id_coments` smallint( 6 ) NOT NULL ,
`id_user` varchar( 20 ) NOT NULL default '',
`coments` varchar( 50 ) NOT NULL default ''
);

CREATE TABLE `user` (
`id_user` smallint(6) NOT NULL auto_increment,
`name` varchar(20) NOT NULL default '',
`pass` varchar(50) NOT NULL default '',
`email` varchar(30) NOT NULL default '',
PRIMARY KEY (`id_user`)
);


Как можно будет вытащить Из базы
user.name,user.email если есть только id_coments.
Причем что id_user будет несколько???

PvgValo
29.10.2009, 18:01
ну если я не ошибаюсь то:
SELECT id_user FROM coments WHERE id_coments = 'какое-то значение';
SELECT name FROM user WHERE id_user = 'полученное значение';

P.S. далее по аналогии ;)

kdk
29.10.2009, 18:12
Я просто думал как то можно одним запросом это вытащить!

PvgValo
29.10.2009, 18:24
Попробуй так
select * from coments, user where coments.id_user= user.id_user and coments.id_coments = 'значение';

KaMiKadZe
29.10.2009, 18:27
select user.name, user.email
from user
inner join coments on coments.id_user = user.id_user where coments.id_coments = $_GET['com']
И вообще 3 БД, будет несколько id_user нефига не понятно

kdk
29.10.2009, 18:56
СПС!

krypt3r
29.10.2009, 18:57
SELECT u.name, u.email
FROM coments c
LEFT JOIN user u ON c.id_user = u.id_user
WHERE c.id_coments in (7, 20, 16, 56);

@D_
30.10.2009, 08:09
INNER JOIN —*лишняя нагрузка на базу, я бы советовал вариант krypt3r