Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 17.05.2011
Сообщений: 53

Запрос с условием

13.06.2012, 12:08. Показов 1207. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Помогите пожалуйста решить одну проблему. Суть в том: Есть таблица сотрудников в которой есть столбик "Член профсоюза" логического типа, если сотрудник в профсоюзе то после болезни ему начисляется 100% зарплаты, а если нет то 50%. Как создать запрос который бы автоматически этих работников разделял и выдавал их заработную плату.
Прилагаю базу данных чтоб было нагляднее и понятнее.
Вложения
Тип файла: zip zarplata.zip (70.2 Кб, 10 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.06.2012, 12:08
Ответы с готовыми решениями:

Запрос с условием
Добрый день. Подскажите, пожалуйста. Имеется таблица t1 содержащая поля t1.field1, t1.field2, и таблица t2, содержащая поля...

Запрос с условием
Всем доброго времени суток! В процессе разработки БД встрял на одном моменте и не могу сообразить, как решить мою проблему. Буду очень рад...

Запрос с условием
Всем, привет! Если не сложно то помогите составить запрос. Т.к. SQL знаю совсем чуть чуть, то очень надеюсь на вашу помощь. Суть в...

4
614 / 488 / 175
Регистрация: 02.03.2010
Сообщений: 1,238
13.06.2012, 14:07
Хз, как открывать accdb, поэтому только так могу помочь:
SQL
1
2
3
4
5
6
7
8
9
SELECT
...
CASE имя таблицы сотрудников.имя столбика "Член профсоюза"
WHEN 0 THEN (SELECT SUM(t2.поле с зарплатой)/2 FROM таблица с зряплатой t2 WHERE t1.поле по которому связан сотрудик с зряплатой = t2.поле по которому зряплата связана с сотрудником)
WHEN 1 THEN (SELECT SUM(t2.поле с зарплатой) FROM таблица с зряплатой t2 WHERE t1.поле по которому связан сотрудик с зряплатой = t2.поле по которому зряплата связана с сотрудником)
END
...
FROM
таблица сотрудников t1
Что то типа этого
0
1 / 1 / 0
Регистрация: 17.05.2011
Сообщений: 53
19.06.2012, 20:43  [ТС]
всё сделал как вы сказали, но он мне пишет "пропущен оператор"
Я добавил новый файл, он должен открыться, прошлый был повреждён
Вложения
Тип файла: rar зарплата.rar (42.7 Кб, 10 просмотров)
0
 Аватар для gitarillo
755 / 554 / 48
Регистрация: 17.06.2010
Сообщений: 1,041
Записей в блоге: 1
20.06.2012, 12:41
SQL
1
SELECT [Сотрудник], [Член профсоюза], IF([Член профсоюза], [Зарплата], [Зарплата]/2) AS [Реальная ЗП] FROM [Таблица]
0
1 / 1 / 0
Регистрация: 17.05.2011
Сообщений: 53
21.06.2012, 03:08  [ТС]
Извините gitarillo, но я не много не понял, как сделать так как вы сказали, но получилось примерно так:
SQL
1
2
SELECT [Личный номер], [Член_профсоюза], IF([Член_профсоюза], [Оклад], [Оклад]/2) AS [Оклад] 
FROM Сотрудники INNER JOIN Болезни ON Сотрудники.[Личный номер] = Болезни.Личный_номер;
Но выдаёт ошибку возникновение циклической ссылки, попробовал сделать через CASE но тоже не получается, вот посмотрите может что подскажете
SQL
1
2
3
4
5
6
7
SELECT Сотрудники.[Личный номер], Сотрудники.Фамилия, Сотрудники.Член_профсоюза;
CASE Сотрудники.Член_профсоюза = TRUE
WHEN TRUE
THEN Сотрудники.Оклад
ELSE (((Сотрудники.Оклад / Сотрудники.Число_рабочих_дней) * (Сотрудники.Число_рабочих_дней - Болезни.Число_пропущ_дней) + ((Сотрудники.Оклад / Сотрудники.Число_рабочих_дней) * Болезни.Число_пропущ_дней * 0.5)
END
FROM Сотрудники
строго не судите совсем не давно начал этим заниматься и был бы очень рад если бы ещё подсказали какую нибудь хорошую литературу по SQL и базам данных

Добавлено через 3 минуты
Второй вариант взял с этого урока но не понимаю что как и куда возвращается и можно ли это использовать для математических преобразований http://cybern.ru/casesql.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.06.2012, 03:08
Помогаю со студенческими работами здесь

Запрос с условием
Здравствуйте! Мне необходимо создать SQL-запрос, который выводил бы только то ПО, срок действия лицензии которого превысил текущую дату....

Сформировать запрос с условием
Имеется таблица, в который есть данные. структура следующая: id NOT NULL PRIMARY KEY AI, id_user NOT NULL, id_companion . Если...

Запрос insert select c условием
Делаю запрос такого типа: INSERT INTO table1 SELECT `Col1`,`Col2`,`Col3`,`Col4` FROM table2 WHERE ...

Запрос вставки строки в таблицу с условием наличия файла в директории
Написал запрос, который вставляет в таблицу БД запись об изображении из результатов парсинга: INSERT INTO kajio_djcf_images...

Запрос с условием выбора таблицы
Имеется таблица, в которой поля указывают на значения полей из других таблиц. Грубо говоря, так: Table1 (int field1, int field2, int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru