SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 30.07.2009 10:11:23

fleetboss
Участник
Зарегистрирован: 30.07.2009
Сообщений: 3

select collum rows

Всем привет.
Итак.. у меня проблемка. Надо чтобы скрипт плюсовал все параметры в базе mysql и выдавал только одну сумму.

Вот сам запрос:

Код:

$ede = mysql_query("SELECT d FROM objects WHERE user='".addslashes($user)."'");

Я пробывал писать еще ниже что-то на подобии этого: $line = mysql_fetch_row($ede); или $line = mysql_num_rows($ede); ничего не показывает... (ответ писал таким $line['порядковый_номер'])

Если сделать SELECT Count(*) from objects... или SELECT Count(d) from objects... то он выделяет все строки... и показывает тока $line['0'] - 21 (кол-во строк (21))...

как мне правельно написать код?


Я нарисовал рисунок, чтобы было еще более понятнее.

заранее спасибо за ваши ответы


Прикрепленные файлы:
Attachment Icon mysql.jpg, Размер: 54,927 байт, Скачано: 475

Неактивен

 

#2 30.07.2009 10:16:39

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: select collum rows

select sum(d) from objects ... ;

Неактивен

 

#3 30.07.2009 11:53:31

fleetboss
Участник
Зарегистрирован: 30.07.2009
Сообщений: 3

Re: select collum rows

Спасибо за ответ! но с этой проблемой я уже разобрался...

SELECT sum(d) as summary from objects...


Только вот у меня еще 1 проблема появилась:



// берет все слоты в которых есть значение больше 0

Код:

$ede1 = mysql_query("SELECT slots.* FROM slots, objects WHERE slots.id='".$stat['id']."' AND objects.id NOT IN (slots.1,slots.2,slots.3,slots.4,slots.5,slots.6,slots.7,slots.8,slots.9,slots.10,slots.11,slots.12,slots.13,slots.14,slots.15,slots.16,slots.17,slots.18,slots.19,slots.20,slots.21,slots.22,slots.23) LIMIT 1"); // берет все слоты в которых есть значение больше 0

// подсчет параметров из выбраных слотов из $ede1 запроса (пишет такую ошибку: Resource id #16/18/19 (в зависимости от заполнения слотов))

Код:

$ede2 = mysql_query("SELECT sum(d) as summary FROM objects WHERE user='".addslashes($user)."' AND id='".$ede1."'"); // подсчет параметров из выбраных слотов из $ede1 запроса (пишет такую ошибку: Resource id #16/18/19 (в зависимости от заполнения слотов))

1 код пашет, а второй нет (добавил только AND id='".$ede1."' (без AND id='".$ede1."' работает (отдельно)))

как правельнее код написать? что вместо $ede1 вписать?

В таблице slots находится 23 collum fields (они могут быть все 23 заполнены). $ede1 запрос не будет же работать если там например будет несколько полей заполненых, а не один...

Надо чтобы скрипт считал все поля в таблице slots в которых больше 0 значение и из полученых полей ($ede1) он делал запрос в таблицу objects ($ede2) и считал параметры этих значений, после чего он выводил бы их. Можно сделать множесто запросов, главное чтобы работало.... У меня че-то уже ничего в голову не лезит... :wacko

Может кто помочь?

второй рисунок таблицы objects не могу выложить, форум запрещает

Отредактированно fleetboss (30.07.2009 12:33:51)


Прикрепленные файлы:
Attachment Icon ede1.gif, Размер: 40,146 байт, Скачано: 488

Неактивен

 

#4 30.07.2009 13:00:32

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: select collum rows

А что по вашему содержит переменная $ede1?

Для запросов SELECT mysql_query() возвращает указатель на результат запроса, или FALSE если запрос не был выполнен.

http://www.php.ru/manual/function.mysql-query.html

Неактивен

 

#5 30.07.2009 16:33:48

fleetboss
Участник
Зарегистрирован: 30.07.2009
Сообщений: 3

Re: select collum rows

Проблема решена, но есть еще вопросик. Может кто знает как можно упростить этот код:

Код:

$edesign_res_1 = mysql_query("SELECT sum(1) as summary from objects
WHERE ID IN
(
SELECT slots.1  FROM slots WHERE user='".addslashes($user)."' AND slots.1 <> 0
UNION
SELECT slots.2  FROM slots WHERE user='".addslashes($user)."' AND slots.2 <> 0
UNION
SELECT slots.3  FROM slots WHERE user='".addslashes($user)."' AND slots.3 <> 0
UNION
SELECT slots.4  FROM slots WHERE user='".addslashes($user)."' AND slots.4 <> 0
UNION
SELECT slots.5  FROM slots WHERE user='".addslashes($user)."' AND slots.5 <> 0
UNION
SELECT slots.6  FROM slots WHERE user='".addslashes($user)."' AND slots.6 <> 0
UNION
SELECT slots.7  FROM slots WHERE user='".addslashes($user)."' AND slots.7 <> 0
UNION
SELECT slots.8  FROM slots WHERE user='".addslashes($user)."' AND slots.8 <> 0
UNION
SELECT slots.9  FROM slots WHERE user='".addslashes($user)."' AND slots.9 <> 0
UNION
SELECT slots.10  FROM slots WHERE user='".addslashes($user)."' AND slots.10 <> 0
UNION
SELECT slots.11  FROM slots WHERE user='".addslashes($user)."' AND slots.11 <> 0
UNION
SELECT slots.12  FROM slots WHERE user='".addslashes($user)."' AND slots.12 <> 0
UNION
SELECT slots.13  FROM slots WHERE user='".addslashes($user)."' AND slots.13 <> 0
UNION
SELECT slots.14  FROM slots WHERE user='".addslashes($user)."' AND slots.14 <> 0
UNION
SELECT slots.15  FROM slots WHERE user='".addslashes($user)."' AND slots.15 <> 0
UNION
SELECT slots.16  FROM slots WHERE user='".addslashes($user)."' AND slots.16 <> 0
UNION
SELECT slots.17  FROM slots WHERE user='".addslashes($user)."' AND slots.17 <> 0
UNION
SELECT slots.18  FROM slots WHERE user='".addslashes($user)."' AND slots.18 <> 0
UNION
SELECT slots.19  FROM slots WHERE user='".addslashes($user)."' AND slots.19 <> 0
UNION
SELECT slots.20  FROM slots WHERE user='".addslashes($user)."' AND slots.20 <> 0
UNION
SELECT slots.21  FROM slots WHERE user='".addslashes($user)."' AND slots.21 <> 0
UNION
SELECT slots.22  FROM slots WHERE user='".addslashes($user)."' AND slots.22 <> 0
UNION
SELECT slots.23  FROM slots WHERE user='".addslashes($user)."' AND slots.23 <> 0
)");

$edesign_1 = mysql_fetch_row($edesign_res_1);

// 2

$edesign_res_2 = mysql_query("SELECT sum(2) as summary from objects
WHERE ID IN
(
SELECT slots.1  FROM slots WHERE user='".addslashes($user)."' AND slots.1 <> 0
UNION
SELECT slots.2  FROM slots WHERE user='".addslashes($user)."' AND slots.2 <> 0
UNION
SELECT slots.3  FROM slots WHERE user='".addslashes($user)."' AND slots.3 <> 0
UNION
SELECT slots.4  FROM slots WHERE user='".addslashes($user)."' AND slots.4 <> 0
UNION
SELECT slots.5  FROM slots WHERE user='".addslashes($user)."' AND slots.5 <> 0
UNION
SELECT slots.6  FROM slots WHERE user='".addslashes($user)."' AND slots.6 <> 0
UNION
SELECT slots.7  FROM slots WHERE user='".addslashes($user)."' AND slots.7 <> 0
UNION
SELECT slots.8  FROM slots WHERE user='".addslashes($user)."' AND slots.8 <> 0
UNION
SELECT slots.9  FROM slots WHERE user='".addslashes($user)."' AND slots.9 <> 0
UNION
SELECT slots.10  FROM slots WHERE user='".addslashes($user)."' AND slots.10 <> 0
UNION
SELECT slots.11  FROM slots WHERE user='".addslashes($user)."' AND slots.11 <> 0
UNION
SELECT slots.12  FROM slots WHERE user='".addslashes($user)."' AND slots.12 <> 0
UNION
SELECT slots.13  FROM slots WHERE user='".addslashes($user)."' AND slots.13 <> 0
UNION
SELECT slots.14  FROM slots WHERE user='".addslashes($user)."' AND slots.14 <> 0
UNION
SELECT slots.15  FROM slots WHERE user='".addslashes($user)."' AND slots.15 <> 0
UNION
SELECT slots.16  FROM slots WHERE user='".addslashes($user)."' AND slots.16 <> 0
UNION
SELECT slots.17  FROM slots WHERE user='".addslashes($user)."' AND slots.17 <> 0
UNION
SELECT slots.18  FROM slots WHERE user='".addslashes($user)."' AND slots.18 <> 0
UNION
SELECT slots.19  FROM slots WHERE user='".addslashes($user)."' AND slots.19 <> 0
UNION
SELECT slots.20  FROM slots WHERE user='".addslashes($user)."' AND slots.20 <> 0
UNION
SELECT slots.21  FROM slots WHERE user='".addslashes($user)."' AND slots.21 <> 0
UNION
SELECT slots.22  FROM slots WHERE user='".addslashes($user)."' AND slots.22 <> 0
UNION
SELECT slots.23  FROM slots WHERE user='".addslashes($user)."' AND slots.23 <> 0
)");

$edesign_2 = mysql_fetch_row($edesign_res_2);

// 3

$edesign_res_3 = mysql_query("SELECT sum(3) as summary from objects
WHERE ID IN
(
SELECT slots.1  FROM slots WHERE user='".addslashes($user)."' AND slots.1 <> 0
UNION
SELECT slots.2  FROM slots WHERE user='".addslashes($user)."' AND slots.2 <> 0
UNION
SELECT slots.3  FROM slots WHERE user='".addslashes($user)."' AND slots.3 <> 0
UNION
SELECT slots.4  FROM slots WHERE user='".addslashes($user)."' AND slots.4 <> 0
UNION
SELECT slots.5  FROM slots WHERE user='".addslashes($user)."' AND slots.5 <> 0
UNION
SELECT slots.6  FROM slots WHERE user='".addslashes($user)."' AND slots.6 <> 0
UNION
SELECT slots.7  FROM slots WHERE user='".addslashes($user)."' AND slots.7 <> 0
UNION
SELECT slots.8  FROM slots WHERE user='".addslashes($user)."' AND slots.8 <> 0
UNION
SELECT slots.9  FROM slots WHERE user='".addslashes($user)."' AND slots.9 <> 0
UNION
SELECT slots.10  FROM slots WHERE user='".addslashes($user)."' AND slots.10 <> 0
UNION
SELECT slots.11  FROM slots WHERE user='".addslashes($user)."' AND slots.11 <> 0
UNION
SELECT slots.12  FROM slots WHERE user='".addslashes($user)."' AND slots.12 <> 0
UNION
SELECT slots.13  FROM slots WHERE user='".addslashes($user)."' AND slots.13 <> 0
UNION
SELECT slots.14  FROM slots WHERE user='".addslashes($user)."' AND slots.14 <> 0
UNION
SELECT slots.15  FROM slots WHERE user='".addslashes($user)."' AND slots.15 <> 0
UNION
SELECT slots.16  FROM slots WHERE user='".addslashes($user)."' AND slots.16 <> 0
UNION
SELECT slots.17  FROM slots WHERE user='".addslashes($user)."' AND slots.17 <> 0
UNION
SELECT slots.18  FROM slots WHERE user='".addslashes($user)."' AND slots.18 <> 0
UNION
SELECT slots.19  FROM slots WHERE user='".addslashes($user)."' AND slots.19 <> 0
UNION
SELECT slots.20  FROM slots WHERE user='".addslashes($user)."' AND slots.20 <> 0
UNION
SELECT slots.21  FROM slots WHERE user='".addslashes($user)."' AND slots.21 <> 0
UNION
SELECT slots.22  FROM slots WHERE user='".addslashes($user)."' AND slots.22 <> 0
UNION
SELECT slots.23  FROM slots WHERE user='".addslashes($user)."' AND slots.23 <> 0
)");

$edesign_3 = mysql_fetch_row($edesign_res_3);

// 4

$edesign_res_4 = mysql_query("SELECT sum(4) as summary from objects
WHERE ID IN
(
SELECT slots.1  FROM slots WHERE user='".addslashes($user)."' AND slots.1 <> 0
UNION
SELECT slots.2  FROM slots WHERE user='".addslashes($user)."' AND slots.2 <> 0
UNION
SELECT slots.3  FROM slots WHERE user='".addslashes($user)."' AND slots.3 <> 0
UNION
SELECT slots.4  FROM slots WHERE user='".addslashes($user)."' AND slots.4 <> 0
UNION
SELECT slots.5  FROM slots WHERE user='".addslashes($user)."' AND slots.5 <> 0
UNION
SELECT slots.6  FROM slots WHERE user='".addslashes($user)."' AND slots.6 <> 0
UNION
SELECT slots.7  FROM slots WHERE user='".addslashes($user)."' AND slots.7 <> 0
UNION
SELECT slots.8  FROM slots WHERE user='".addslashes($user)."' AND slots.8 <> 0
UNION
SELECT slots.9  FROM slots WHERE user='".addslashes($user)."' AND slots.9 <> 0
UNION
SELECT slots.10  FROM slots WHERE user='".addslashes($user)."' AND slots.10 <> 0
UNION
SELECT slots.11  FROM slots WHERE user='".addslashes($user)."' AND slots.11 <> 0
UNION
SELECT slots.12  FROM slots WHERE user='".addslashes($user)."' AND slots.12 <> 0
UNION
SELECT slots.13  FROM slots WHERE user='".addslashes($user)."' AND slots.13 <> 0
UNION
SELECT slots.14  FROM slots WHERE user='".addslashes($user)."' AND slots.14 <> 0
UNION
SELECT slots.15  FROM slots WHERE user='".addslashes($user)."' AND slots.15 <> 0
UNION
SELECT slots.16  FROM slots WHERE user='".addslashes($user)."' AND slots.16 <> 0
UNION
SELECT slots.17  FROM slots WHERE user='".addslashes($user)."' AND slots.17 <> 0
UNION
SELECT slots.18  FROM slots WHERE user='".addslashes($user)."' AND slots.18 <> 0
UNION
SELECT slots.19  FROM slots WHERE user='".addslashes($user)."' AND slots.19 <> 0
UNION
SELECT slots.20  FROM slots WHERE user='".addslashes($user)."' AND slots.20 <> 0
UNION
SELECT slots.21  FROM slots WHERE user='".addslashes($user)."' AND slots.21 <> 0
UNION
SELECT slots.22  FROM slots WHERE user='".addslashes($user)."' AND slots.22 <> 0
UNION
SELECT slots.23  FROM slots WHERE user='".addslashes($user)."' AND slots.23 <> 0
)");

$edesign_4 = mysql_fetch_row($edesign_res_4);

// 5

$edesign_res_5 = mysql_query("SELECT sum(5) as summary from objects
WHERE ID IN
(
SELECT slots.1  FROM slots WHERE user='".addslashes($user)."' AND slots.1 <> 0
UNION
SELECT slots.2  FROM slots WHERE user='".addslashes($user)."' AND slots.2 <> 0
UNION
SELECT slots.3  FROM slots WHERE user='".addslashes($user)."' AND slots.3 <> 0
UNION
SELECT slots.4  FROM slots WHERE user='".addslashes($user)."' AND slots.4 <> 0
UNION
SELECT slots.5  FROM slots WHERE user='".addslashes($user)."' AND slots.5 <> 0
UNION
SELECT slots.6  FROM slots WHERE user='".addslashes($user)."' AND slots.6 <> 0
UNION
SELECT slots.7  FROM slots WHERE user='".addslashes($user)."' AND slots.7 <> 0
UNION
SELECT slots.8  FROM slots WHERE user='".addslashes($user)."' AND slots.8 <> 0
UNION
SELECT slots.9  FROM slots WHERE user='".addslashes($user)."' AND slots.9 <> 0
UNION
SELECT slots.10  FROM slots WHERE user='".addslashes($user)."' AND slots.10 <> 0
UNION
SELECT slots.11  FROM slots WHERE user='".addslashes($user)."' AND slots.11 <> 0
UNION
SELECT slots.12  FROM slots WHERE user='".addslashes($user)."' AND slots.12 <> 0
UNION
SELECT slots.13  FROM slots WHERE user='".addslashes($user)."' AND slots.13 <> 0
UNION
SELECT slots.14  FROM slots WHERE user='".addslashes($user)."' AND slots.14 <> 0
UNION
SELECT slots.15  FROM slots WHERE user='".addslashes($user)."' AND slots.15 <> 0
UNION
SELECT slots.16  FROM slots WHERE user='".addslashes($user)."' AND slots.16 <> 0
UNION
SELECT slots.17  FROM slots WHERE user='".addslashes($user)."' AND slots.17 <> 0
UNION
SELECT slots.18  FROM slots WHERE user='".addslashes($user)."' AND slots.18 <> 0
UNION
SELECT slots.19  FROM slots WHERE user='".addslashes($user)."' AND slots.19 <> 0
UNION
SELECT slots.20  FROM slots WHERE user='".addslashes($user)."' AND slots.20 <> 0
UNION
SELECT slots.21  FROM slots WHERE user='".addslashes($user)."' AND slots.21 <> 0
UNION
SELECT slots.22  FROM slots WHERE user='".addslashes($user)."' AND slots.22 <> 0
UNION
SELECT slots.23  FROM slots WHERE user='".addslashes($user)."' AND slots.23 <> 0
)");

$edesign_5 = mysql_fetch_row($edesign_res_5);

// 6

$edesign_res_6 = mysql_query("SELECT sum(6) as summary from objects
WHERE ID IN
(
SELECT slots.1  FROM slots WHERE user='".addslashes($user)."' AND slots.1 <> 0
UNION
SELECT slots.2  FROM slots WHERE user='".addslashes($user)."' AND slots.2 <> 0
UNION
SELECT slots.3  FROM slots WHERE user='".addslashes($user)."' AND slots.3 <> 0
UNION
SELECT slots.4  FROM slots WHERE user='".addslashes($user)."' AND slots.4 <> 0
UNION
SELECT slots.5  FROM slots WHERE user='".addslashes($user)."' AND slots.5 <> 0
UNION
SELECT slots.6  FROM slots WHERE user='".addslashes($user)."' AND slots.6 <> 0
UNION
SELECT slots.7  FROM slots WHERE user='".addslashes($user)."' AND slots.7 <> 0
UNION
SELECT slots.8  FROM slots WHERE user='".addslashes($user)."' AND slots.8 <> 0
UNION
SELECT slots.9  FROM slots WHERE user='".addslashes($user)."' AND slots.9 <> 0
UNION
SELECT slots.10  FROM slots WHERE user='".addslashes($user)."' AND slots.10 <> 0
UNION
SELECT slots.11  FROM slots WHERE user='".addslashes($user)."' AND slots.11 <> 0
UNION
SELECT slots.12  FROM slots WHERE user='".addslashes($user)."' AND slots.12 <> 0
UNION
SELECT slots.13  FROM slots WHERE user='".addslashes($user)."' AND slots.13 <> 0
UNION
SELECT slots.14  FROM slots WHERE user='".addslashes($user)."' AND slots.14 <> 0
UNION
SELECT slots.15  FROM slots WHERE user='".addslashes($user)."' AND slots.15 <> 0
UNION
SELECT slots.16  FROM slots WHERE user='".addslashes($user)."' AND slots.16 <> 0
UNION
SELECT slots.17  FROM slots WHERE user='".addslashes($user)."' AND slots.17 <> 0
UNION
SELECT slots.18  FROM slots WHERE user='".addslashes($user)."' AND slots.18 <> 0
UNION
SELECT slots.19  FROM slots WHERE user='".addslashes($user)."' AND slots.19 <> 0
UNION
SELECT slots.20  FROM slots WHERE user='".addslashes($user)."' AND slots.20 <> 0
UNION
SELECT slots.21  FROM slots WHERE user='".addslashes($user)."' AND slots.21 <> 0
UNION
SELECT slots.22  FROM slots WHERE user='".addslashes($user)."' AND slots.22 <> 0
UNION
SELECT slots.23  FROM slots WHERE user='".addslashes($user)."' AND slots.23 <> 0
)");

$edesign_6 = mysql_fetch_row($edesign_res_6);

Неактивен

 

#6 31.07.2009 16:12:47

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: select collum rows

Попробуйте нормализовать таблички smile

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson