есть такой запрос [sql]SELECT u.login, u.id, (SELECT SUM( f.forecast_result ) FROM FR_Forecasts f INNER JOIN FR_Games g ON f.id_game = g.id INNER JOIN FR_Turs turs ON g.id_tur = turs.id WHERE u.id = f.id_user AND turs.id in( '30')) AS sum_point FROM FR_Users u ORDER BY sum_point DESC , u.login ASC [/sql] на одном хостинге на MySQL - 4.1.11-Debian_4sarge2-log работает а на MySQL 4.1.18 не хочет поле sum_point = NULL Если вместо [sql]AND turs.id in( '30') [/sql] написать [sql]AND turs.id in( '30', '29') [/sql] или [sql]AND turs.id = 30 [/sql] то работает Может кто знает решение какое нибудь?
Пофигу, работать будет и так и так Я решил проблему так [sql] AND turs.id IN('30', '')[/sql] Больше не знаю как можно было решить
Вльдемар У тебя ID скорее всего ведь в массиве? Тогда сделай так PHP: <? $ids[] = 30; $special_where = ''; if (count($ids) > 1){ $special_where = 'IN('.implode(',', $ids).')'; }else{ $special_where = '= '.$ids[0]; } $result = mysql_query('SELECT u.login, u.id, (SELECT SUM( f.forecast_result ) FROM FR_Forecasts f INNER JOIN FR_Games g ON f.id_game = g.id INNER JOIN FR_Turs turs ON g.id_tur = turs.id WHERE u.id = f.id_user AND turs.id '.$special_where.') AS sum_point FROM FR_Users u ORDER BY sum_point DESC , u.login ASC'); ?>
Я пользуюсь библиотекой Котерова(еще placeholder) и туда просто массив передать нужно. Я так сделал PHP: <? $id=explode(';', $turs); $id[]=''; // а тут запрос ?> все равно пустых полей id в базе нет До меня просто не доходит почему в одной версии работает, а во второй не нет.