Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Какой запрос нужен?
 
 автор: DissDoc   (06.08.2005 в 17:52)   письмо автору
 
 

Есть 2 таблицы сотрудники и должности.
В Таблице сотрудник следующие столбцы: имя, должность
В таблице должности: должность, зарплата

Как составить запрос, чтобы мне показали сумму зарплат, принадлежащей определенной должности?

   
 
 автор: axxil   (06.08.2005 в 18:16)   письмо автору
 
   для: DissDoc   (06.08.2005 в 17:52)
 


<?
$sql_str
='select sum(t2.зарплата) from сотрудники t1, должности t2
where t1.должность=t2.должность 
and t1.должность=\'дворник\''
?>

   
 
 автор: DissDoc   (06.08.2005 в 18:26)   письмо автору
 
   для: axxil   (06.08.2005 в 18:16)
 

Проблема в том, что просто получается все пусто. Я не вижу суммы....

   
 
 автор: Axxil   (06.08.2005 в 18:29)   письмо автору
 
   для: DissDoc   (06.08.2005 в 18:26)
 

А тип поля зарплата какой?
Опять же должность это код должности или строка? Если строка то надо чтобы в обоих таблицах она была одинаковая
попробуйте вместо sum() поставить * что получается?

   
 
 автор: DissDoc   (06.08.2005 в 18:35)   письмо автору
 
   для: Axxil   (06.08.2005 в 18:29)
 

Когда без суммы. то у меня выдается 4 одинаковых числа в столбец (собственно все правильно), стоит поставить SUM - опять все пропадает! Тип зарплаты int(9)...
Должность - это char

   
 
 автор: Axxil   (06.08.2005 в 18:42)   письмо автору
 
   для: DissDoc   (06.08.2005 в 18:35)
 

Блин, не должно быть так... Такое ощущение что mySQL не знает что такое sum.
Попробуйте просто select sum(зарплата) from работники
Вы вообще mySQL используете? :)
А вообще я бы советовал сделать ещё таблицу должности с первичным ключом чтобы можно было на неё ссылатся в запросе, так как связывание у вас тогда будет идти по коду должности а то у вас получается избыточность. Посмотрите вы в двух таблицах используете название должностей...

   
 
 автор: DissDoc   (06.08.2005 в 18:49)   письмо автору
 
   для: Axxil   (06.08.2005 в 18:42)
 

Да, использую mySQL. Проверил просто - получилось... я вот когда из 2х таблиц беру какие-то значения - то все нормуль, а как беру SUM - нет и все результата...

   
 
 автор: DissDoc   (06.08.2005 в 18:52)   письмо автору
 
   для: DissDoc   (06.08.2005 в 18:49)
 

Все в порядке! MySQL отобразил.. просто надстройщик MySQL-Front почему-то не отображал. Спасибо за помощь.

   
 
 автор: Axxil   (06.08.2005 в 18:53)   письмо автору
 
   для: DissDoc   (06.08.2005 в 18:49)
 

Попробуйте всё же код должности использовать... Мне кажется что здесь где-то собака зарыта

   
 
 автор: cheops   (06.08.2005 в 19:23)   письмо автору
 
   для: DissDoc   (06.08.2005 в 18:26)
 

А вы нам дайте урезанный вариант базы - axxil привёл абстрактный запрос, который должен работать, но для того, чтобы составить запрос, который вам нужен, требуется хотя бы несколько записей исходных таблиц.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования