Задать вопрос
  • Как правильно сделать выборку из нескольких таблиц?

    @Akina
    Но в 4-й таблице связь через id идёт.

    С чем? с третьей таблицей? ну я ж вроде сказал, что третья должна быть свободной и ни с кем не связанной... Или какую мы сейчас вообще схему обсуждаем?

    В таблице 2 хранятся параметры, а в 4-й значения параметра, с привязкой к товару. Так?
    Если да, то как тогда делать фильтрацию?

    Либо на основании
    ...
    FROM ... table2 ... JOIN table4 ON ...
    WHERE (table2.name, table4.value) IN (...) 
    -- либо table2.name == ... AND table4.value IN (...)
    ...

    либо отрывать ещё и таблицу 2, делая и её шаблоном, и добавлять соотв. поле в таблицу 4.
    Написано
  • Как правильно сделать выборку из нескольких таблиц?

    @Akina
    Дмитрий,
    Если писать в эту таблицу значения, а не id, то толку будет мало. Например и "ширины" и "длины" могут совпадать значения и тогда будет непонятно, какой именно товар выводить.

    Пффф... по набору полей (table2,name, table4.value)

    если удалить какое-то значение для параметра, то что тогда изменять в 4-й таблице?

    А, позвольте спросить, зачем? Если вдруг фабрика перестала шить платья 60-го размера, вы что, все такие платья со склада в помойку несёте?
  • Как правильно сделать выборку из нескольких таблиц?

    @Akina
    Как правильно сделать в данном случае?

    С моей точки зрения правильно - отдельная таблица 3 (таблица шаблонов атрибута сущности) предопределённых размеров, ни к чему не привязанная, которая используется только как источник данных для поля размеров на форме ввода нового товара. Введение поля с размером (выбранным значением, а не ссылкой на таблицу 3) в таблицу 4 (таблица экземпляров сущности). Копирование выбранного в форме ввода значения из таблицы 3 в таблицу 4 в соответствии с указанием пользователя при создании записи.

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

    связь есть, которая будет очищать записи в 4-й таблице.

    Может, такое поведение и оправдано в вашем конкретном случае... но обычно такое огульное бесконтрольное удаление связанных записей заканчивается большими проблемами...
    Написано
  • Как правильно сделать выборку из нескольких таблиц?

    @Akina
    Дмитрий,
    список значений может дополняться и очищаться от ненужных значений.

    Но, очистив список от какого-то значения в таблице 3, вы тут же потеряете это значение для всех записей в таблице 4.
    Написано
  • Как правильно сделать выборку из нескольких таблиц?

    @Akina
    Дмитрий, Ааа... таблица 3 содержит предопределённый список значений параметра. Тогда огорчу - у вас проблема. Вы не различаете шаблон (pattern) и экземпляр (instance).

    Опять же не поверю, что список возможных значений параметра прибит гвоздями на веки вечные. Значит, он может как пополняться, так и прочищаться. А поскольку схема не предусматривает удаления ставшего ненужным значения, то список замусоривается.
    Написано
  • Как правильно сделать выборку из нескольких таблиц?

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

    Не понял... В чём разница? Какое назначение у третьей таблицы? Не смешиваете ли вы две несвязанные задачи - создание записи о товаре и фильтрацию выборки по товарам?

    В любом случае сейчас ничто не мешает создать в четвёртой таблице запись с param_id = 11, value_id =111, тогда как в третьей лежит uuid = 111, param_id = 22.
    Написано
  • Как правильно сделать выборку из нескольких таблиц?

    @Akina
    Дмитрий,
    если выбросить таблицу 3, то где тогда хранить значения параметра?

    Попробуйте дочитать мой комментарий до конца.
    Написано
  • Как правильно сделать выборку из нескольких таблиц?

    @Akina
    Дмитрий,
    Какую структуру Вы предлагаете в этом случае использовать?

    Выбросить таблицу 3. Вообще.
    Выбросить поля value_id, group_id из таблицы 4, но добавить туда поле value.
    Написано
  • Как правильно сделать выборку из нескольких таблиц?

    @Akina
    Что-то не структура, а бред бредовый. Вот скажите, что мешает добавить в четвёртую таблицу запись с такими значениями (param_id, value_id, group_id), что пары значений (param_id, value_id) и (value_id, group_id) отсутствуют в таблицах 2 и 3 соответственно?
    Написано
  • Как вывести крайние диалоги пользователей?

    @Akina
    Sergey В., спасибо, я тоже знаю, чем LEFT отличается от INNER.

    Немного модифицируем запрос - messages сортируем по message_id в порядке убывания и берём только первую запись (через LIMIT)


    Да вот ни фига это не будет "немного". Это очень даже приличное изменение. Причём по вашему описанию очевидно, что речь идёт о подзапросе, но пока даже не понять, где вы его предлагаете разместить - в источнике записей или в списке вывода.
    Написано
  • Как вывести крайние диалоги пользователей?

    @Akina
    А если юзер ещё ни одного сообщения не написал - его выводить (с пустым значением инфы о сообщении)?

    И укажите ТОЧНУЮ версию MySQL.

    PS. "Сообщение" и "диалог" - это ну совсем не одно и то же...
    Написано
  • Как вывести крайние диалоги пользователей?

    @Akina
    В итоге имеем то, что Вы и хотели - список всех пользователей с их последним сообщением.

    Не-а... представьте, что некий юзер ещё ни одного сообщения не послал. Указанное в начале ответа LEFT JOIN вернёт этого юзера, а вот описанный далее алгоритм - нет.
    Написано
  • Как сделать алгоритм превращение цифр словами в цифры?

    @Akina
    ну если просто 100 то это hundred, а вот 101 one hundred one

    101 - это one hundred and one, хотя в разговоре это скорее всего будет one-o-one
    Написано
  • Почему вместо 100, по проводу 95?

    @Akina
    В идеальных условиях на 100 мегабитах мне не удавалось получить более 11.8 мегабайт в секунду интегральной передачи, что соответствует 94.4 мегабита трансфера данных, остальное съедают служебные биты в канале передачи.
    А вот если порт гигабитный, а ограничение установлено шейпингом канала, то эти служебные биты не откусывают от заявленных 100, а проскакивают в остатке пропускной способности канала, то есть в оставшихся не у дел 900 мегабитах.
    Написано
  • Почему вместо 100, по проводу 95?

    @Akina
    Aragorn,
    когда у вас жёсткий греется, данные с него тоже в тепло переходят что ли?

    Вы будете смеяться, но таки да - правда, хотя и с точностью до наоборот. Это тепло переходит в данные - правда, в данные совершенно случайные по причине абсолютной хаотичности и непредсказуемости направлений движения отдельных кусочков тепла. Если взять пластину диска с данными и положить её на хранение - то когда-нибудь она перейдёт в состояние абсолютного армагеддона данных. И чем выше температура пластины, тем раньше это произойдёт. Ну а поскольку действие равно противодействию, можно говорить, что это данные переходят в тепло - беды большой не будет.
    Написано
  • Как включить NAT в локальной сети на маршрутизаторе TP-LINK Archer AX-50?

    @Akina
    Рабстанцию можно, конечно, настроить так, чтобы она думала, что 192.168.0.1 - это мост. Но вот что простейший SOHO-роутер способен работать в режиме такого LAN <-> LAN моста, я более чем сомневаюсь.
    Написано
  • Как задать значение LIMIT через SELECT COUNT ...?

    @Akina
    Ответ на вопрос КРИТИЧНО зависит от используемой СУБД, её точной версии и точки исполнения запроса (одиночный запрос, подготовленный, запрос в составе хранимого объекта и пр.).

    Универсальный метод - нумерация записей (если поддержано в текущей версии СУБД, то оконной функцией) и связывание с подзапросом.

    как-то уместить в один запрос, а не в SQL-программу с переменными

    Ну как бы одно другому-то не противоречит...
    Написано
  • Microtik и оптоволокно МТС, как запустить?

    @Akina
    Ответ от МТС:

    "Тип волокна - пластиковое оптическое волокно plastic optical fiber-POF. Полировка стандартная. Стандартное оптическое волокно. Но, кабель восьмижильный."

    Это - пять!
    Написано
  • Microtik и оптоволокно МТС, как запустить?

    @Akina
    МТС заходит ко мне в квартиру только через оптоволокно

    Тип волокна? Тип полировки? Протокол(ы) в волокне?
    Написано
  • Как настроить второй роутер вместо адаптера?

    @Akina
    Ziptar,
    Усиление антенны, кажись, не регламентируется, токмо мощность передатчика


    А я и не говорю, что будут преследовать по закону или нормам каким. Именно что по-дружески настучат по голове за то, что забьёшь насмерть не только свой канал, но и 2-3 соседних с обеих сторон, до состояния, когда больше никто на этих каналах не может установить нормальную связь..
    Написано