Последние записи
- Как создать полноценный сайт на Open Server
- Получить температуру процессора на bat-файлах
- Динамические массивы в Lazarus / Delphi — индексация элементов
- Многозадачность на бат-файлах
- Дата и время изменения файла
- Правильно объединить ячейки построчно в Microsoft Office Excel
- Пример проигрывания музыки по нотам на бат-файлах (через powershell)
- Ограничение логина при регистрации символами AZ-az, А-Я, а-я и цифры
- Взвешивание любого груза на весах
- CMD/BAT: звуки (2 разных + бонус: сигнал SOS)
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
25th
Июл
MySQL составной запрос
Как правильно сделать запрос такого типа:
UPDATE in_main SET SelectionDescription='$SelectionDescription', id=('SELECT MAX('id') FROM `in_main`'+1) WHERE DocumentNumber='$DocumentNumber'
А именно меня интересует строчка
id=('SELECT MAX('id') FROM `in_main`'+1)
.
То есть мне нужно изменить id записи на последний id+1.
P.S. поле id автоинкремент, я бы использовал mysqli_insert_id, но оно работает, только если insert был использован в текущем подключении.
20th
Июн
Построение сложного SQL-запроса выборки
Eсть следующие таблицы:
- Задачи
- Работники
- Связки задач и работников (какие работники могут выполнять какую задачу)
Работников на задачу может быть как 1, так и больше. Одни и те же работники могут быть записаны на выполнение разных задач в разных комбинациях.
Например. У нас есть работники Иван, Пётр, Степан, Максим.
Есть задачи «Уборка территории», «Покраска стен», «Смазывание дверей», «Разгрузка макулатуры», «Подстригание газона»
Уборкой территории могут заниматься Иван и Пётр.
Покраской стен — Пётр и Степан.
Смазыванием дверей -Степан и Максим.
Разгрузкой макулатуры — Максим и Иван.
Подстриганием газона — Пётр.
Всё это записано вот в такие таблицы:
tasks
id
description
status
workers
id
name
tasks_workers_links
id
task_id
worker_id
Первая задача (Уборка территории), в которой задействованы Иван и Пётр, имеет статус working. Остальные задачи имеют статус wait.
Мне нужно отобрать одну задачу, которая готова идти в работу (status=wait), и ни один из её работников не задействован в задачах status=working.
Проблемы создаёт тот факт что один и то же рабочий может быть записан на разные задачи. В данном примере нужно получить только одну задачу:
| Смазыванием дверей — Степан и Максим. |
потому что Иван и Пётр, задействованные в первой таске (которая уже working) не могут учавствовать в других задачах из-за своей занятости.
Я хотел получить некий красивый JOIN на выходе, но придумать его к сожалению не смог.
Решил некрасиво следующими запросами.
Сперва берём задачи которые уже в работе
SELECT id FROM tasks WHERE status='working'
Затем берём id работников которые в этих задачах задействованы
SELECT worker_id FROM tasks_worker_links WHERE task_id IN(предыдущий запрос)
На основании этого, берём все id задач где есть работники из предыдущего запроса:
SELECT task_id FROM tasks_workers_links WHERE worker_id IN(предыдущий запрос)
Их мы должны игнорировать при выборке.
И наконец выбираем задачи которые могут пойти в работу:
SELECT * FROM tasks WHERE status='wait' AND id NOT IN(предыдущий запрос) LIMIT 1
Таким образом, я соединяю аж 4 запроса.
SELECT * FROM tasks WHERE status='wait' AND id NOT IN(
SELECT task_id FROM tasks_workers_links WHERE worker_id IN(
SELECT worker_id FROM tasks_worker_links WHERE task_id IN(
SELECT id FROM tasks WHERE status='working'
)
)
) LIMIT 1
При тысячах записей это создаст серьёзные проблемы с производительностью — вложенные запросы извлекают слишком много данных.
В общем, буду благодарен за любые идеи как это всё превратить в красивый и быстрый единый SQL.
25th
Май
PostgreSQL — чтение файла
есть csv файл, в функции pgplsql прочитать этот файл и создать на его основе таблицу (заголовок csv файла), и затем заполнить эту таблицу данными из этого csv файла.
Как это сделать средствами plpgsql ? Если нельзя то какими средствами можно это реализовать в PostgreSQL ?
17th
Ноя
Подсчет количества повторов построчно в Microsoft Office Access, как в Excel (Счётесли)
В запросе «повторяющееся записи» необходимо подсчитать количество повторов построчно. В вычисляемом поле запроса пытаюсь использовать функцию DCount (если это конечно правильно, не получается с критерием). Подсчет должен идти по полю [Код] (переменная и фиксировано не напишешь). Хотелось бы чтоб получилось как на вложенном файле .jpg. Файл примера так же прилагается.
| Database13.rar (36.4 Кб) |
28th
Авг
MySQL запрос. Проблема в выборе по максимальной дате
Необходимо получить данные из таблицы без повторов (группирую по двум полям), отсортированные тоже по двум полям и (в чем у меня и получился затык) с максимальной датой.
SELECT ID, Type, Name, Status, max(DT) FROM posts
WHERE Type = 'GT - 27'
OR Type = 'GT - 39'
GROUP BY Type, Name
ORDER BY Type, Name
В этом случае получаю записи несвязанные с полем DT (дата, время). То есть поле DT не соответствует остальным полям реальной записи.
Подскажите: куда мне копать?)
Может через подзапрсы? Все мои попытки в этом направлении провалились…
12th
Дек
Выбрать по одной записи для каждой категории
Есть таблица с сообщениями. Структура такая: id, текст, категория. Категория — это число, указывающее тему сообщения.
В скрипте есть список категорий, например 5, 9, 15. Нужно для всех этих категорий получить последнее сообщение (с максимальным id). Как сделать такую выборку одним запросом? Пытался для каждой категории написать отдельный запрос и объединить с помощью UNION. Но в запросах нужны операторы ORDER BY и LIMIT. А с ними запрос не работает. Подскажите, как сделать
24th
Ноя
Простое представление (решение на MSSQL)
Нужно чтобы представление:
Отображало количество арендованных жилых и нежилых объектов недвижимости физическими и юридическими лицами каждый месяц текущего года.
12th
Ноя
Как склеить два SQL запроса
Использую FireBird 3.0
Есть рабочий запрос:
select p.*, pr.NUMBER_IN as NUMBER_IN_PR, c.EXECUTE_BEGIN as EXECUTE_BEGIN_C,
c.EXECUTE_END as EXECUTE_END_C, c.CLIENT_ID as CLIENT_ID_C,
c.PDV as PDV_C, c.PDV_WITHOUT as PDV_WITHOUT_C, c.PDV_TOTAL as PDV_TOTAL_C,
c.FIRST_PART_NUMBER_CONTRACT as FIRST_PART_NUMBER_CONTRACT_C,
c.CREATE_NUMBER as CREATE_NUMBER_C from PLAN_D p join CONTRACT c on
p.CONTRACT_ID = c.ID join PROPOSAL pr on pr.ID = c.PROPOSAL_ID
where c.SEND_STATUS = 1 and p.ARCHIVE = 1 order by p.ID
он выдает строки результата.
К каждой строке этого результата желательно прикрепить еще один запрос:
select distinct(sw.NAME_SORT_WORK) from DEVICES d
join SORT_WORK sw on d.SORT_WORK_ID = sw.ID where d.PROPOSAL_ID = 1
результатом этого запроса, также могут стать несколько строк.
Мне нужно результат второго запроса превратить в строку (перечисление через запятую), и вставить в новое поле первого запроса. Ключевое поле объединения = «PROPOSAL_ID» (которое есть и в таблице «CONTRACT» и в таблице «DEVICES«)
10th
Ноя
Номер записи в результатах запроса (Access)
6th
Ноя
Связи между таблицами базы данных
Как правильно поставить связи между 3 таблицами, что бы в 3-ей таблице была первая или вторая, но не две сразу
Может, что то вроде этого:
1)
2)
Но оба варианта мне как то не нравятся, хоть я остановился на втором
Облако меток
реестр ассемблер timer TBitMap SaveToFile ShellExecute программы массив советы word MySQL SQL ListView pos random компоненты дата LoadFromFile form база данных сеть html php RichEdit indy строки Win Api tstringlist Image мысли макросы Edit ListBox office C/C++ memo графика StringGrid поиск canvas файл Pascal форма Файлы интернет Microsoft Office Excel excel winapi журнал ПРОграммист DelphiКупить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту

пеллетные котлы

Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)


