Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Вопрос по mysql (https://forum.antichat.xyz/showthread.php?t=152141)

kdk 29.10.2009 17:55

Вопрос по mysql
 
есть 3 бд
PHP код:

CREATE TABLE `coments` (
`
id_comentssmallintNOT NULL ,
`
id_uservarchar20 NOT NULL default '',
`
comentsvarchar50 NOT NULL default ''
);

CREATE TABLE `user` (
  `
id_usersmallint(6NOT NULL auto_increment,
  `
namevarchar(20NOT NULL default '',
  `
passvarchar(50NOT NULL default '',
  `
emailvarchar(30NOT 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


Время: 19:10