|
|
|
| Возможно не совсем точно изложу суть вопроса потому сам еще не совсем понял что именно надо, но задачу поставили такую.
Есть база данных с таблицей N выбирается строка в которой занесены цисла например 2, 4, 6, 15. есть вторая таблица в которой есть столбец ID числа от 1 до 100 и столбец Z с числами любыми, необходимо посчитать сумму чисел столбца Z но только тех строк которые принадлежат таблице N то есть 2, 4, 6, 15. если кто знает подскажите, замучался уже, идея как сделать есть, но код получается уж очень большим, так как выбирать надо много столбцов. | |
|
|
|
|
|
|
|
для: Grozniy
(24.11.2006 в 19:23)
| | Принадлежность записей второй таблице первой как определяются? Приведите дампы этих двух таблиц? | |
|
|
|
|
|
|
|
для: cheops
(24.11.2006 в 19:39)
| | Если я все правильно понял, то
<?
//Делаем запрос в первую таблицу и выбираем те самые числа 2, 4, 6, 15
$sql=mysql_query("SELECT * FROM `table_1` WHERE `id`='2' LIMIT 1");
//Сохраняем их в массив
$digits[]=mysql_result($sql, 0, 'field1');
$digits[]=mysql_result($sql, 0, 'field2');
$digits[]=mysql_result($sql, 0, 'field3');
$digits[]=mysql_result($sql, 0, 'field4');
//Для каждого элемента массива делаем запрос и выбираем нужное значение из столбца Z
//и сохраняем в массив $result
foreach ($digits as $key=>$value) {
$sql=mysql_query("SELECT `z` FROM `table_2` WHERE `ID`='".$value."' LIMIT 1");
$result[]=mysql_result($sql, 0);
}
//суммируем результат
$sum=array_sum($result);
?>
|
Мне не нравится кусок с циклом, наверняка можно какой-то хитрый запрос в базу делать, а не сервер нагружать. Но в принципе, и так позволительно. | |
|
|
|
|
|
|
|
для: aexb
(24.11.2006 в 19:51)
| | Спасибо, почти то что надо, кое что изменил (с массивом не люблю возиться), но идею понял. Все получилось. | |
|
|
|