• SQL запрос не знаю правильный?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега MySQL
    Проверять, что результат запроса содержит данные о товаре. Если не содержит - показывать пользователю об этом сообщение.
    Выполнение запроса с WHERE id = 'несуществующее значение' не является ошибкой само по себе, это вполне нормальная ситуация, которую нужно просто обрабатывать в коде.
    Ответ написан
    Комментировать
  • Есть ли более компактный способ сделать выборку из БД?

    @maksam07
    Но уверен есть решение элегантнее и разумнее)

    Вы это решение найдете значительно быстрее, когда прочитаете о нормализации базы данных. Если не ошибаюсь, то 10 основных норм достаточно, для проектирования более хороших бд.

    UPD. С числом ошибся. Я имел в виду первые 3 нормальных формы. Кто хочет большему количеству форм соответствовать - пожалуйста

    Или это ок?

    В текущем варианте - ок.
    Ответ написан
    6 комментариев
  • Как это решать?

    Vindicar
    @Vindicar
    RTFM!
    1. Подумать.
    2. Написать код.

    А если серьёзно, задача сводится к разложению числа на заданные слагаемые. Это гуглится.
    Один из способов (необязательно самый быстрый) - рекурсивное разложение. Упрощенно, перебираешь все Ai меньшие N. Выкидываешь это Ai из рассматриваемого набора, и затем рекурсивно пытаешься составить число (N - Ai) из всех Aj, меньших или равных Ai (так как большие слагаемые ты уже рассмотрел).
    Углубляясь в рекурсию, рано или поздно ты наткнёшься на одну из двух ситуаций:
    а) среди Aj есть число, равное искомому. Решение найдено, осталось размотать рекурсию обратно и собрать в кучку использованные Ai.
    б) нет ни одного Aj, меньшего или равного искомому числу. Решения нет.
    В твоём случае будет ещё случай в) Сумма всех Ai меньше N. Решения нет, заплатить не удастся. Это можно проверить вообще сразу.

    Реализовать будет проще, если отсортируешь Ai в порядке убывания. Тогда вместо удаления Ai из списка слагаемых достаточно будет выбрать индекс i, с которого будешь начинать рассмотрение слагаемых - все элементы до i-го либо слишком велики, либо уже были рассмотрены и не пригодились.
    Ответ написан
    3 комментария
  • 2 ПК определяются как один в сети?

    hint000
    @hint000
    у админа три руки
    https://www.google.com/search?q=uuid+guid+диска+windows
    https://www.google.com/search?q=uuid+guid+компьюте...
    https://support.anydesk.com/knowledge/anydesk-id-a...
    Ещё вариант: удалить конфликтующее ПО (Anydesk, СБИС,..), вычистить в реестре все его следы, установить заново.

    Но как по мне, вы больше сил потратите на борьбу с последствиями, чем сэкономили сил за счёт клонирования. Есть смысл клонировать систему с драйверами и обновлениями, но без прикладного ПО, причём даже это нужно делать через Sysprep и только после этого клонировать диск.
    Ответ написан
    Комментировать
  • В чем может быть проблема?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Должен вернуть одну строку с id 10 (последняя строка в выборке на скриншоте)
    Кому должен? Программа должна делать только то, что вы в ней написали. Строки по колонке mentions отсортированы, десятая строка выбрана. То, что нет других правил сортировки означает, что строки с одинаковым значением mentions можно выдавать в любом порядке.
    Ответ написан
    Комментировать
  • С чего начать планирование системы управления кафетериями?

    myks92
    @myks92
    Нашёл решение — пометь вопрос ответом!
    Самый лучший способ это Event Storming! Это как раз будет связующее звено для понимания и вами и программистами. Конечно, лучше найти такого специалиста - Архитектора.

    По сути техника Event Storming — это воркшоп с простой структурой, на котором эксперты по предметной области и разработчики совместно исследуют эту самую предметную область. По мере исследования участники раскрывают всё больше неопределенности и скрытой сложности, сверяют предположения с реальностью и снижают влияние предположений на качество продукта.

    Event Storming применяется в исследованиях клиентского опыта, проектировании новых сервисов, получении знаний о работе legacy-систем, моделировании сложных предметных областей и проектировании микросервисной или событийной архитектуры.

    Техника предусматривает итеративность. Модель предметной области можно постепенно детализировать (уточнять) с каждой сессией. Участники меньше утомляются, сессии можно посвящать отдельным вопросам и приглашать нужных специалистов, брать паузы для исследований.

    Из своего опыта могу сказать, что ни раз даже помогало увидеть полную картину своего бизнеса. Сразу вырисовывается организационная структура, разграничение ответсвенностей и другое. Проводится довольно быстро. Это легче чем написать ТЗ. После проработки Event Storming можно уже давать задания для программистов, дизайнеров, маркетологов и др. Очень полезная техника для автоматизации. Всегда проще сначала нарисовать бизнес, а потом его автоматизировать.

    Если вы автоматизируете уникальный продукт, где есть своё ноу хау, то без этой техники не обойтись. Ведь выбирая что-то за основу и копируя её вы не доносите ценность вашего бизнеса. Для примера, ваша ценность может быть вовсе не в качественных и вкусноприготовленных блюдах, а в грандиозном сервисе подаче этих блюд. Тогда автоматизацию следует делать с большим упором на услуги. Или ваш ресторан наоборот может иметь самый быстрый сервис и подачу блюд. В этом случае упор будет другим. А может быть у вас в целом подход будет заключаться в управлении другими ресторанами (сеть). В общем брать что-то за основу и тем более слушать программистов не стоит. Программисты делают всегда то, как им удобнее и проще. Для вас же важно решить свои проблемы. Удвоить бизнес.
    Ответ написан
    Комментировать
  • С чего начать планирование системы управления кафетериями?

    @Drno
    Если Вы хотите это сделать для своей сети - то лучше воспользоваться готовым, iiko например, это будет наиболее дешёго.

    А спросить по идее надо у сисадмина, который это будет обслуживать

    И не понятна формулировка - "система управления рестораном". Что конретно требуется и чем конкретно надо управлять?
    Ответ написан
  • Как правильно создать БД в одном execute?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Обычно БД создается во время процессов CD/CD через технологии liqubase/flyway.
    Таблицы тоже. В этом есть смысл потому что БД и таблицы это такие долго-живущие объекты
    и кроме того не лежащие в плоскости транзакций. Они - выше транзакций и их надо логически
    отделять от прочего java кода. А в java коде - оставить insert/update/delete.
    Ответ написан
    5 комментариев
  • Можно ли восстановлени резервной копии Windows server на другом железе?

    hint000
    @hint000
    у админа три руки
    Ситуация: умер важный сервер и нужно срочно его восстановить
    Если он на самом деле важный, то у вас два (с половиной) пути.

    (1) Если он на самом деле важный, то у вас есть резервное железо, в точности такое же (вы об этом позаботились заранее, потому что сервер важный), восстановление из резервной копии проверено на этом железе - успешно восстанавливается;

    (1a)
    Если он на самом деле важный, но об этом подумали слегка поздновато, и уже нет возможности найти в точности такое же железо, тогда берёте такое железо, какое есть, и проверяете на нём восстановление из бэкапа, если не восстанавливается, то берёте какое-нибудь другое железо и проверяете... пока не найдёте то, на котором проверка успешно пройдёт;

    (2) Если он на самом деле важный, то виртуализируйте его. Тогда всё становится на порядок проще в аспекте вашего вопроса - вы имеете какое угодно резервное железо с заранее поднятым на нём гипервизором (выбор гипервизора на ваш вкус), а виртуальной машине фиолетово на железо, если только не требуется пробрасывать в неё какой-нибудь контроллер, видеокарту и т.п., но это экзотические ситуации.
    Ответ написан
    Комментировать
  • Как исправить ошибку?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    CREATE TABLE IF NOT EXISTS users (id INT, class INT, liter TEXT)
    А если она уже существует? Колонка liter в ней есть?
    Ответ написан
    1 комментарий
  • Что означает +0 в запросе SQL?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Конвертирование в число

    StackOverflow
    Ответ написан
    Комментировать
  • Как составить sql запрос?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    SELECT m.DOCUMENT_ID, m.JOB_ID, p.PERSON_ID
      FROM (SELECT DOCUMENT_ID, MAX(JOB_ID) AS JOB_ID
              FROM my_table GROUP BY DOCUMENT_ID ) AS m
      JOIN my_table AS p ON m.DOCUMENT_ID = p.DOCUMENT_ID AND m.JOB_ID = p.JOB_ID
    Ответ написан
    Комментировать
  • Как транспонировать строки в столбцы?

    Melkij
    @Melkij
    PostgreSQL DBA
    проще на клиенте форматировать. Но поскольку число столбов в этой задаче можно считать константой, то можно и захардкодить
    select EXTRACT(YEAR FROM time) AS year,
    sum(cost) filter(where EXTRACT('month' FROM time) = 1) as jan,
    sum(cost) filter(where EXTRACT('month' FROM time) = 2) as feb,
    ...
    sum(cost) filter(where EXTRACT('month' FROM time) = 12) as dec
    from tablename
    where ...
    group by 1
    order by 1
    Ответ написан
    Комментировать
  • Как можно использовать 2 разные локальные сети на одном компьютере в одной программе?

    hint000
    @hint000
    у админа три руки
    Просто добавьте на этом ПК второй адрес (с маской), так чтобы два его адреса были из разных сетей. Он сможет использовать оба адреса и, соответственно, будут доступны обе сети.
    К сожалению, вы не назвали ОС на ПК, но если это Windows, то добавить ещё один адрес можно через кнопку "дополнительно" в настройках IPv4.
    Ответ написан
    4 комментария
  • Как можно использовать 2 разные локальные сети на одном компьютере в одной программе?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Сетевой интерфейс может одновременно иметь адреса из разных сетей. Ничего специального для этого не требуется.
    Ответ написан
    Комментировать
  • Как исправить ошибку при отправке запроса?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега MySQL
    Вот они, красным подсвечены:
    650027f3b8902774711648.png

    Это синтаксис PostgreSQL, а не MySQL - в это главная ошибка.
    Ответ написан
    Комментировать
  • Постоянно пропадает сеть на компьютере. В чем может быть причина?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    DNSы на пинг локальных IP не влияют, особенно ближайших.
    менял компьютер, копировал профиль пользователя, неделю проработал без перебоев и позже стал снова пропадать

    Патчкорд/кабель/порт на свиче не меняли?
    Очень похоже на: 1) нестабильный коннект с сетью 2) кривые драйвера сетевой карты 3) последние обновы Win, которые ломают все что можно (сталкивался с неподнятием сети с первого запуска)
    Ответ написан
  • Как подключить все устройства, если провайдер выдал меньше ip-адрессов, чем нужно?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Поставить роутер с поддержкой NAT, и да, это скорее всего любой роутер может.
    Ответ написан
    Комментировать
  • Как подключить все устройства, если провайдер выдал меньше ip-адрессов, чем нужно?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Оставьте диапазон, выданный провайдером, маршрутизатору в шкафу - а локальные устройства расположите в своём, любого нужного размера, настроив NAT.
    Ответ написан
    Комментировать