• Как сформировать json из двух запросов SQL?

    @alexalexes
    Вся проблема в том, что таблица clients_groups не нормализована до третьей нормальной формы. У вас атрибут id_clients пытается вобрать несколько значений, что неприменимо при по пытках построить запросы, где будет фигурировать связка с id_client к другим таблицам.
    Чтобы данной структурой можно было пользоваться, нужно провести такую нормализацию:
    Таблица groups:
    id_group - идентификатор группы
    name_group - наименование группы
    Таблица clients_groups - предназначена для формирования связи многим-ко-многим (связывает множественными связями справочник клиентов со справочником групп):
    id - идентификатор связи
    id_group - идентификатор группы
    id_client - идентификатор клиента
    Тогда такая структура будет иметь следующее содержание:
    Таблица groups:
    id_group, name_group
    1, 'Головна'
    2, 'Менеджер'
    Таблица clients_groups:
    id, id_group, id_client
    1, 1, 2
    2, 2, 2
    3, 2, 3
    Построение запроса:
    select g.id_group, cg.id_client, g.group_name
    from groups as g
    join clients_groups as cg on g.id_group = cg.id_group

    Далее собрать выборку в NodeJS, объединив по группам клиентов и перекодировать результат в JSON.
    Ответ написан
    Комментировать
  • Может ли свитч выступать шлюзом?

    paran0id
    @paran0id
    Умный, но ленивый
    Шлюзы (маршрутизаторы) и свитчи (коммутаторы) действуют на разных уровнях модели OSI - третьем и втором соответственно. Хотя бывают и L3-коммутаторы, но это уже не про маленькие предприятия. В маленьких обычно стоит роутер SOHO-класса (домашний), в котором объединены маршрутизатор, коммутатор и точка доступа wifi.
    Ответ написан
    2 комментария
  • 1 розетка RJ45, а нужно подключить 2 устройства. Как?

    3r1k
    @3r1k
    the quieter you become, the more you hear
    самый дешевый свитч купите и будт вам счастье.
    Ответ написан
    Комментировать
  • Как автоматически обновлять столбец второй таблицы если тот же столбец обновляется в первой таблице?

    @d-stream
    Готовые решения - не подаю, но...
    С точки зрения нормальных форм - "это ненормально"
    Но уж если так есть - то видимо костылить триггером. Либо бить ногами аффтора и приводить к человеческому виду.
    Хотя подозреваю что это мельчайшая проблема из тех что там выявятся.
    Ответ написан
    4 комментария
  • Какие Ip выбрать для коммутатора и маршрутизатора?

    paran0id
    @paran0id
    Умный, но ленивый
    У управляемых коммутаторов есть ip на административном интерфейсе, у неуправляемых такого интерфейса нет. Административные интерфейсы следует выделить в отдельный vlan.
    Ответ написан
    5 комментариев
  • Как объедеить запросы и выполнить один SQL запрос и затем получить результат в виде значений переменных PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    SELECT v.product, , v.link FROM v_product v WHERE v.id = 5463 ORDER BY v.product ASC;
    SELECT i.id as info_id, i.link_to_site FROM infograph v WHERE id = 5463;
    SELECT i.info, description, title, price, first_letter FROM baseinfo v WHERE id = 5463;

    Во первых - куда делся префикс алиаса в условии во втором запросе и почему сам алиас как в первом, хотя используется какой-то i? И тот же вопрос про третий запрос. Еще и в первом 2 раза выбран v.link... Короче бардак с самими запросами для начала пофиксить бы...
    Во вторых - почему у вас айди в 3 разных таблицах один и тот же? Может это не первичный индекс, а внешний ключ, тогда он должен иначе называться. И где тогда сам первичный ключ?
    В третьих - сделать нормальную структуру, ну и тогда можно объединить их через внешний ключ, с указанием что один из них (базовый) равен 5463.

    Похоже что сам синтаксис вам предельно незнаком, и вы просто пишете рандомные строки...
    Ответ написан
    5 комментариев
  • Почему при попытке прописать 10-ю сеть на ubuntu 20 она вообще не пингуется?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    10.10.213.2 не входит в сеть 10.10.10.101/255.255.255.0.
    Если это действительно одна сеть, то маска должна быть 255.255.0.0
    Если это разные сети, то должна быть настроена маршрутизация на шлюзе.
    Ответ написан
    Комментировать
  • Почему выскакивает эта ошибка при INSERT INTO?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Потому что одинарные кавычки имеют в программировании определенный смысл, и их надо писать только там, где надо, а не просто добавлять от балды в код?
    Ответ написан
    8 комментариев
  • Как перенести данные из нескольких таблиц в одну?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    insert into odna (col1, col2) select col1, col2 from drugaya;
    insert into odna (col1, col2) select col1, col2 from tretya;
    Ответ написан
    Комментировать
  • Как перенести данные из нескольких таблиц в одну?

    @rPman
    последовательно выполнить
    insert into new_table select from old_table
    если в таблице есть foreign key индксы ли другие constraint, которые могут препятствовать простому их копированию, то отключаешь их перед копированием (для innodb придется удалять и позже создавать заново, для myisam есть метод alter table ... disable keys)
    Ответ написан
    1 комментарий
  • Какое оборудование нужно для соединения коммутаторов в разных зданиях на расстоянии 200 м?

    gbg
    @gbg Куратор тега Компьютерные сети
    Любые ответы на любые вопросы
    Проложите оптический кабель. Потребуется сам кабель, два оптических кросса, пигтейлы, патчкорды и медиакновертеры.

    Также потребуются услуги сварщика оптики.
    Ответ написан
    8 комментариев
  • Какое оборудование нужно для соединения коммутаторов в разных зданиях на расстоянии 200 м?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    Вариант 1 (самый простой/дешманский): Делим участок на сегменты менее 100м, желательно чтобы стыки были в районе розеток. Покупаем самый дешевый обычный свитч DES/DGS-1005, подключаем и работаем
    Вариант 2 (по дороже): Вариант 1, только вместо свитчей POE-коммутаторы(инжекторы)/удлинители. Если к местам стыков нет возможности подвести 220В
    Вариант 3 (надежный/геморойный): Оптоволокно, если позволяют условия - можно купить готовый оконеченный патчкорд и протянуть, если нет - тянуть кабель и оконечивать. Любой провайдер подрядиться такое спроектировать/сделать.
    Вариант 4. (в прямой видимости): WI-FI радиомост на направленных точках доступа/антенах. Ну не забиваем, что от каждой точки доступа до ближайшего свитча также может быть до 100м
    Вариант 5. (когда проложить нет возможности): Использование технологий PLC (powerline) - подключение по существующей электропроводке, через спец адаптеры. VDSL - подключение по существующей прямой телефонной линии (1 паре)
    Вариант 6. (арендный) При наличии на обоих концах точек присутствия провайдера. Заказать услугу темного волокна или mpls, объединение сетей
    Вариант 7. (интернетный): При наличии на обоих концах точек присутствия провайдера. Объединение сетей через классический VPN.
    Ответ написан
    2 комментария
  • Может ли регистратор для аналоговых камер передавать информацию на сервер напрямую, а не записывать на свой диск?

    @TheBigBear
    СтарОдмины мы
    Может. Фактически он так и делает.
    Классический пример: при отсутствии жесткого диска он не перестает работать
    Или вопрос касается видеорегистраторов 15-20 летней давности?
    Если триплекс - то может
    Справка по древним аналоговым регистраторам:
    Симплекс - может выполнять только одну задачу в один момент времени. К примеру, если вы начали просматривать записи в архиве видеорегистратора, запись на жесткий диск остановится.
    Дуплекс - такие DVR позволяют одновременно просматривать архив видео и вести запись.
    Триплекс - вместе с просмотром архива и записью доступна трансляций видео на монитор.
    Пентаплекс - самый распространенный тип видеорегистраторов. на них можно одновременно делать практически все операции: записывать видео на диск, смотреть архив, смотреть видео в реальном времени на мониторе, производить удаленную настройку и т. д.
    Ответ написан
    Комментировать
  • Какое оборудование нужно для соединения коммутаторов в разных зданиях на расстоянии 200 м?

    Соединить оптикой с sfp+ модулями, например
    Ответ написан
    Комментировать
  • Сетевое обнаружение?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Сетевое обнаружение работает по MAC на уровне широковещательных запросов Ethernet.
    Соответственно, устройства должны быть в одном широковещательном домене сети.
    Какие у них при этом IP-адреса для WinBox абсолютно всё равно.
    Можно подключиться к любому микротику, вручную указав его IP-адрес, если до этого адреса настроена маршрутизация.
    Ответ написан
    1 комментарий
  • Как переставляя столбцы и строки матрицы, переместить самый большой элемент в верхний левый угол?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Вы не уточнили, что понимается под словом "переставляя". Можно ли скажем, переставить первую и пятую строку местами? Или может быть можно, скажем, пятую строку поставить в начало...
    А может быть под "переставляя" имеется в виду перестановку рядом стоящих строк местами?
    В любом случае имеет смысл сперва найти самый ольшой элемент в матрице, а потом переставлять строки, чтобы он всплыл в угол.
    В чем конкретно у вас проблема? Если вы хотите готовый алгоритм, то этот ресурс не для этого. а на конкретные вопросы тут с удовольствием ответят и помогут.
    Ответ написан
    3 комментария
  • Как отформатировать строку SQL запроса?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Проблема здесь не с форматированием.
    А со структурой БД.
    Подставлять имя таблицы в запрос требуется исключительно редко, и это, очевидно, не ваш случай.

    Я понимаю, что у вас нет достаточных знаний, и это не ваша вина. Питон - это новый пхп. Писать ботов на питоне ринулись массы не имеющих отношения к программированию индивидуумов: домохозяйки, школьники, наркоманы в ремиссии и бывшие миллиционеры. В принципе это нормально, мы всем рады.

    Но если уж взялся, то надо понимать: программирование - это не прогулка по парку с девочкой (ну или с мальчиком - кому как больше нравится). Вашими страданиями с форматированием строки проблемы не заканчиваются. Они тут только начинаются. Чтобы освоить программирование, надо очень много учиться. И в частности, изучать основы построения баз данных. Я рекомендую книжку Святослава Куликова - она бесплатная.

    В вашем случае не должно быть зоопарка таблиц для каждого города. Таблица должна быть только одна. В которой есть поле city. Значение для которого подставляется стандартно во WHERE.
    Ответ написан
    1 комментарий
  • Как вставить данные в две таблицы сразу?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    1. Вставить в первую
    2. Вставить во вторую.

    При возникновении ошибок - прочитать и исправить.
    Ответ написан
    5 комментариев
  • Как эффективно и лаконично отсортировать файл из строк не вмещающихся в память?

    sergiks
    @sergiks Куратор тега Алгоритмы
    ♬♬
    Отдельные мысли:
    1 Tb / 2 Gb = 500 чисел, не много.

    Сначала собрать массив индексов строк в отсортированном порядке.
    После окончания сортировки записать финальный файл с реальными числами.

    Merge Sort, да, хорош, потому что O(n log n)

    Числа – фикс. размера, поэтому для сравнения двух очередных чисел, читать можно от старших регистров к младшим, до первого различия, которое может наступить уже в первых цифрах.
    Считывать длинные числа можно маленькими блоками, да хоть по байту (нет), пока не наступит различие в пользу одного из двух.

    Все 500 можно считывать маленькими шажками от старших регистров к младшим.
    Считали 500 блоков (по килобайту?) – расставили в порядке.
    Далее считываем следующие блоки только для тех из 500, что на предыдущем сравнении оказались равными.

    И т.д. пока все равенства не разрешатся, или пока числа не кончатся )
    Ответ написан
    7 комментариев