Я действительно удивился, когда попробовал приведенный ниже код в MySQL:
SELECT * FROM table WHERE (key='free_shipping' and value='yes') AND (key='price' and value='5')
Это не работает. Мне нужно получить продукт, который free_shipping равен 'да' И цена равна 5 'одновременно Как правильно создать этот запрос?
Структура таблицы:
содержание: (ТАБЛИЦА 1)
CONTENT_ID TITLE DESCRIPTION DATE
content_fields: (ТАБЛИЦА 2)
FIELD_ID CONTENT_ID KEY_NAME VALUE
Пример (Получить товар с 1 идентификатором и бесплатная доставка) :
SELECT * FROM `contents` as c LEFT JOIN `content_fields` as cf ON c.content_id = cf.content_id WHERE c.content_id = 1 AND cf.key_name = 'free_shipping' AND cf.value = 'yes'