Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

16.05.2008, 09:16
|
|
Участник форума
Регистрация: 02.03.2008
Сообщений: 111
Провел на форуме: 130720
Репутация:
6
|
|
Помогите с Sql запросом
SELECT DISTINCT
users.UserLogin,
users.UserPassword,
ppersons.Surname,
ppersons.Name,
ppersons.Fathername,
ppersons.RoadName,
stat_tests.TestID,
courses.HourWeight
FROM
users
INNER JOIN ppersons ON (users.UserLink = ppersons.PPersonID)
INNER JOIN stat_tests ON (users.UserID = stat_tests.UserID)
INNER JOIN courses ON (stat_tests.TestID = courses.CourseID)
WHERE
(stat_tests.StatTestResult >= '0,75')
Есть запрос,он выводит результаты следующим образом
UserLogin UserPassword Surname Name Fathername RoadName TestID HourWeight
administrator 101 Владимирович Сергей Егоров Главная дорога 220 9
administrator 101 Владимирович Сергей Егоров Главная дорога 213 9
administrator 101 Владимирович Сергей Егоров Главная дорога 215 9
administrator 101 Владимирович Сергей Егоров Главная дорога 214 9
administrator 101 Владимирович Сергей Егоров Главная дорога 212 9
administrator 101 Владимирович Сергей Егоров Главная дорога 211 9
administrator 101 Владимирович Сергей Егоров Главная дорога 210 9
administrator 101 Владимирович Сергей Егоров Главная дорога 219 9
USER10 OPAP5N Евгеньевна Галина Мунц КуйбРЦБ 213 9
USER10 OPAP5N Евгеньевна Галина Мунц КуйбРЦБ 211 9
USER10 OPAP5N Евгеньевна Галина Мунц КуйбРЦБ 210 9
USER10 OPAP5N Евгеньевна Галина Мунц КуйбРЦБ 220 9
хотелось бы чтобы он подсчитывал кол-во записей в таблице HourWeight, но если я делаю sum(HourWeight) а потом group by userlogin то он бред выводит...(не правдивые данные)
|
|
|

16.05.2008, 09:27
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
PHP код:
$res = mysql_query("SELECT `courses.HourWeight` FROM `users`");
$row = mysql_num_rows($res);
echo $row
|
|
|

16.05.2008, 09:30
|
|
Участник форума
Регистрация: 02.03.2008
Сообщений: 111
Провел на форуме: 130720
Репутация:
6
|
|
Вы меня не поняли по средством SQL...хочу чтобы получился ответ
administrator 101 Владимирович Сергей Егоров Главная дорога 72 (т.к. 9*8)
USER10 OPAP5N Евгеньевна Галина Мунц КуйбРЦБ 36 (т.к. 9*4)
а TESTID(наверху) выводится для уникальности записей...
Последний раз редактировалось andrey_a87; 16.05.2008 в 09:36..
|
|
|

16.05.2008, 09:51
|
|
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме: 804931
Репутация:
526
|
|
Сообщение от andrey_a87
но если я делаю sum(HourWeight) а потом group by userlogin то он бред выводит...(не правдивые данные)
Конечно (он у вас вообще что то выводит?=/ ), потому что в данном случае группировку необходимо провести по всем идентичным полям.
|
|
|

16.05.2008, 09:55
|
|
Участник форума
Регистрация: 02.03.2008
Сообщений: 111
Провел на форуме: 130720
Репутация:
6
|
|
как это можно ещё изобразить? ГОРЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮ ЮЮЮЮЮЮ
|
|
|

16.05.2008, 09:57
|
|
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме: 804931
Репутация:
526
|
|
Сообщение от andrey_a87
как это можно ещё изобразить? ГОРЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮЮ ЮЮЮЮЮЮ
Всмысле изобразить?
Если хочешь с группировкой - вот (по понятным причинам не тестировалось)
Код:
SELECT DISTINCT
users.UserLogin,
users.UserPassword,
ppersons.Surname,
ppersons.Name,
ppersons.Fathername,
ppersons.RoadName,
sum(courses.HourWeight)
FROM
users
INNER JOIN ppersons ON (users.UserLink = ppersons.PPersonID)
INNER JOIN stat_tests ON (users.UserID = stat_tests.UserID)
INNER JOIN courses ON (stat_tests.TestID = courses.CourseID)
WHERE
(stat_tests.StatTestResult >= '0,75')
GROUP BY UserLogin, UserPassword, Surname, Name, Fathername, RoadName
Последний раз редактировалось VDShark; 16.05.2008 в 10:00..
|
|
|

16.05.2008, 10:11
|
|
Участник форума
Регистрация: 02.03.2008
Сообщений: 111
Провел на форуме: 130720
Репутация:
6
|
|
Но в таком случае он считает сумму криво. При условии того, что:
administrator 101 Владимирович Сергей Егоров Главная дорога 220 9
administrator 101 Владимирович Сергей Егоров Главная дорога 213 9
administrator 101 Владимирович Сергей Егоров Главная дорога 215 9
administrator 101 Владимирович Сергей Егоров Главная дорога 214 9
administrator 101 Владимирович Сергей Егоров Главная дорога 212 9
administrator 101 Владимирович Сергей Егоров Главная дорога 211 9
administrator 101 Владимирович Сергей Егоров Главная дорога 210 9
administrator 101 Владимирович Сергей Егоров Главная дорога 219 9
9*8=72, он выводит число больше 1000000 
|
|
|

16.05.2008, 10:22
|
|
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме: 804931
Репутация:
526
|
|
Тогда скинь что ли структуру участвующих табличек... а то так с утра фантазия плохо работает)
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|