Forum Webscript.Ru

Общие => Базы данных => Тема начата: CepbIu от 17 Марта 2005, 21:39:19

Название: Два запроса обьединить в один ...
Отправлено: CepbIu от 17 Марта 2005, 21:39:19
есть два запроса, хочется их в один обьединить ... предполагаю, что это можно сделать ...

$rr=mysql_query("select id_user from g_users_in_ogam where num=10 and id_gam=$s_id order by t_answer asc limit 1");
$rows=mysql_fetch_row($rr);
$s_id_win=$rows[0];
$rr=mysql_query("select nick from g_users where id=$s_id_win");
$rows=mysql_fetch_row($rr);
$s_win=$rows[0];

если можно, подскажите, где об этом можно прочитать ...
Название: Два запроса обьединить в один ...
Отправлено: commander от 18 Марта 2005, 13:01:56
CepbIu
http://sql.ru/docs/mysql/rus%5Fref/sql.shtml#Joins
Название: Два запроса обьединить в один ...
Отправлено: CepbIu от 18 Марта 2005, 16:50:26
commander

"select nick.g_users from g_users,g_users_in_ogam where id.g_users=id_user.g_users_in_ogam and num.g_users_in_ogam=10 and id_gam.g_users_in_ogam=$s_id order by t_answer.g_users_in_ogam asc limit 1"

так правильно ? ... проверить временно не могу по техническим причинам :( ...
Название: Два запроса обьединить в один ...
Отправлено: commander от 18 Марта 2005, 16:55:47
CepbIu
структуру таблиц покажи... тогда скажу правильно или нет...
Название: Два запроса обьединить в один ...
Отправлено: CepbIu от 18 Марта 2005, 17:20:34
ошибся вот где ... в имени поля сначала идет имя таблицы и через точку имя поля ... я наоборот написал ... :) ... запустил всё-тки апач ... проверил ...
"select g_users.nick,g_users_in_ogam.id_user from g_users,g_users_in_ogam where g_users.id=g_users_in_ogam.id_user and g_users_in_ogam.num=10 and g_users_in_ogam.id_gam=$s_id order by g_users_in_ogam.t_answer asc limit 1"

этот запрос всё правильно делает ...

CREATE TABLE `g_users` (
  `nick` varchar(20) NOT NULL default \'\',
  `pass` varchar(20) NOT NULL default \'\',
  `id` int(10) unsigned NOT NULL auto_increment,
  `sess` varchar(15) NOT NULL default \'\',
  `id_team` int(10) unsigned NOT NULL default \'0\',
  `time` varchar(10) NOT NULL default \'\',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM;

CREATE TABLE `g_users_in_ogam` (
  `id_gam` int(10) unsigned NOT NULL default \'0\',
  `id_user` int(10) unsigned NOT NULL default \'0\',
  `t_answer` int(10) unsigned NOT NULL default \'0\',
  `num` int(3) unsigned NOT NULL default \'0\'
) TYPE=MyISAM;