Intereting Posts
Как функция spl_autoload_register () работает с классами и интерфейсами, если они в настоящее время не определены? Что означает последний шанс, данный PHP? Условие Yii <IS NULL> Отобразить элемент, выбранный конкретным пользователем на странице состояния для этого конкретного пользователя. Как получить использование ЦП и использование ОЗУ без exec? Fatal error: Uncaught CurlException: 26: не удалось открыть файл "" Самый быстрый способ сравнить состояние каталога или хеширование для удовольствия и прибыли Радиоустройства Yii Функция PHP INCLUDE внутри HTML-файла exec (): цитирование полной команды в Windows Twitter OAuth (PHP): нужен хороший, базовый пример для начала является спокойным, предназначенным только для веб-служб ИЛИ для веб-сервисов и веб-страниц? Динамическое создание флажков Как получить сгруппированные сообщения, упорядоченные по дате SQL Валютный символ INR на pdf с использованием dompdf Yii – Управление переменной sesssion

Как выбрать уникальное значение из столбца на основе нескольких идентификаторов во многих случаях?

Я пытаюсь создать систему на PHP, где я могу отправлять автоматические ответы на основе информации из своих заказов и требований для этих ответов. Например, если клиент имеет заказ с product_id 20,30 и 40 в нем. Я хочу, чтобы иметь возможность задать один из ответов, выполнить проверку, если она соответствует, а затем отправить соответствующий ответ.

В настоящее время существует две таблицы: одна для самого сообщения и одна для требований, связанных с этими сообщениями.

tickets_answers

id name message 1 Test 1 This is the first test message. 2 Test 2 Another test message 

tickets_answers_options

 id answer_id option_type option_id 1 1 product_id 20 2 1 product_id 30 3 1 product_id 40 4 2 product_id 25 5 2 product_id 30 

Проникновение всех доступных ответов и их соответствие не являются предпочтительными, так как я не знаю, сколько ответов / требований будет установлено в будущем. Именно поэтому я пытаюсь получить соответствующий ответ на основе известных идентификаторов продуктов, показанных во второй таблице, как options_ids.

Запрос будет построен на PHP. Я, скорее всего, сделаю imode или построю запрос на основе информации из самого заказа. Я просто пытаюсь разобраться с частью SQL.

Я попробовал следующий запрос, чтобы получить answer_id

 SELECT answer_id FROM tickets_answers_options WHERE option_id IN (SELECT option_id FROM tickets_answers_options WHERE option_type = 'product_id' AND option_id = 20 OR option_id = 30 OR option_id = 40) GROUP BY answer_id 

Это приводит к чему-то близкому к тому, что я хочу. Этот запрос возвращает answer_ids

 1 2 

В этом случае 2 выскочил, потому что он соответствовал одному из option_id, указанному в подзапросе.

Мой желаемый результат будет получать одно соответствие answer_id с параметром option_ids. Я вижу, что это может быть немного от того, как я создал структуру для этой конкретной системы. Но в будущем будет проверено несколько параметров option_types. Прямо сейчас я пытаюсь сделать проверку только для product_id, в PHP я могу настроить несколько запросов для разных параметров option_types, поэтому убедитесь, что все соответствует.

Я надеюсь, что я разместил достаточно актуальную информацию здесь, если не сообщите мне, чтобы я мог предоставить больше. И благодарю вас за то, что вы заранее просмотрели это.

Solutions Collecting From Web of "Как выбрать уникальное значение из столбца на основе нескольких идентификаторов во многих случаях?"