Задать вопрос
Ответы пользователя по тегу MySQL
  • Архитектура MySQL таблицы: строки или числа

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Пусть в вашей таблице объектов есть поле objectId - идентификатор объекта. Создадим дополнительную таблицу, связанную по полю objectId с таблицей объектов. Таблица содержит поля номера сервиса serviceNum и его статуса serviceStatus.
    CREATE TABLE `service_states` 
      `objectId` BIGINT NOT NULL DEFAULT '0',
      `serviceNum` INT NOT NULL DEFAULT '0',
      `serviceState` tinyint(1) DEFAULT '0',
      PRIMARY KEY (`objectId`,`serviceNum`),
      KEY `byServiceState` (`serviceState`),
      KEY `byServiceNum` (`serviceNum`))
    ENGINE=InnoDB DEFAULT CHARSET=utf8';

    Запрос всех объектов, аналогичный вашему, будет выглядеть как
    SELECT * FROM `test_b` as tb
    RIGHT JOIN `service_states` as ss USING(objectId)
    WHERE ss.serviceNum = 3 AND ss.serviceState = 2;
    Ответ написан