[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: множественный запрос
dubushka1990
Здравствуйте! У меня следующая проблема: Мне нужен запрос по нескольким таблицам для сравнения.Есть код:
$query = mysql_query("SELECT * FROM `abit` WHERE `ort` >= ( SELECT `ort` FROM `testirovanie`) ORDER BY `sername`, `name`") or die(mysql_error());

он должен сравнивать `ort`из таблицы `abit`со значением `ort`из таблицы `testirovanie` ,оба поля `ort`типа int , но где - то ошибка...
Помогите пожалуйста.



Спустя 22 минуты, 26 секунд (17.05.2012 - 20:55) waldicom написал(а):
Подзапрос в данном случае будет скорее всего отдавать более чем 1 строку, а так нельзя.
В простейшем случае поставить LIMIT 1 в подзапросе. Но лучше переработать логику, потому что в приведенном запросе её нет

Спустя 5 минут, 19 секунд (17.05.2012 - 21:01) dubushka1990 написал(а):
ну а если так
$query = mysql_query("SELECT * FROM abit JOIN testirovanie ON abit.ort = testirovanie.ort ORDER BY sername, name") or die(mysql_error());
? правда тоже не работает... user posted image

Спустя 4 минуты, 5 секунд (17.05.2012 - 21:05) dubushka1990 написал(а):
кто может подправьте пожалуйста, очень нужно... unsure.gif

Спустя 15 минут, 13 секунд (17.05.2012 - 21:20) megadom написал(а):
пиши такой селект:

"SELECT * FROM abit,testirovanie WHERE abit.ort = testirovanie.ort"
он выберет строки из таблиц abit и testirovanie где значения ort одинаковые... если нужно добавить ещё условие то добавляешь его через AND "SELECT * FROM abit,testirovanie WHERE abit.ort = testirovanie.ort AND УСЛОВИЕ"

Спустя 9 минут, 7 секунд (17.05.2012 - 21:29) dubushka1990 написал(а):
мне нужно от запроса чтоб он выводил и подсчитывал данные. Делаю по Вашему:
$query = mysql_query("SELECT * FROM abit,testirovanie WHERE abit.ort = testirovanie.ort ") or die(mysql_error());
if(mysql_num_rows($query))
{
while($row = mysql_fetch_assoc($query))
{
printf ("<p>%s %s %s</a></p>",$row["sername"],$row["name"],$row["faname"]);
$count_1 = mysql_num_rows ($query);
} }
echo("</td></tr><tr><td bgcolor='#FFFFFF'>всего: $count_1</td>");
}

выдает ошибку: Notice: Undefined variable: count_1
делал так:
$query = mysql_query("SELECT * FROM `abit` WHERE `ort` = 150 ORDER BY `sername`, `name`") or die(mysql_error());
все работает...

Спустя 1 минута, 9 секунд (17.05.2012 - 21:30) dubushka1990 написал(а):
не используя таблицу testirovanie

Спустя 3 минуты, 7 секунд (17.05.2012 - 21:33) megadom написал(а):
а ты определи переменную в начале

$count_1 = "";

Спустя 3 минуты, 34 секунды (17.05.2012 - 21:37) dubushka1990 написал(а):
user posted image СПАСИБО ОГРОМНОЕ!!!!

Спустя 36 секунд (17.05.2012 - 21:37) megadom написал(а):
а что эта переменная передаёт? номер строки?

Спустя 9 минут, 3 секунды (17.05.2012 - 21:46) dubushka1990 написал(а):
нет, количество удовлетворяющее условию

Спустя 7 минут, 51 секунда (17.05.2012 - 21:54) Gabriel написал(а):
Цитата

if(mysql_num_rows($query))
$count_1 = mysql_num_rows ($query);

а может перед ифом сделать $count_1 = mysql_num_rows($query); и пользовать переменную?

Спустя 7 минут, 1 секунда (17.05.2012 - 22:01) megadom написал(а):
Цитата (dubushka1990 @ 17.05.2012 - 17:46)
нет, количество удовлетворяющее условию

да.. точно..)

Спустя 49 секунд (17.05.2012 - 22:02) dubushka1990 написал(а):
и так работает, спасибо!!!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.