Как сделать запрос так что бы в результате мне вышла таблица где product_id соответствовал бы одновременно 2 условиям например attribute_id = 12 и attribute_id = 17.
На выходе должна бы получиться таблица с 2 строчками: 1,2;
SELECT pa.product_id FROM product_attribute pa WHERE pa.attribute_id IN (12) AND pa.attribute_id IN (17)
так конечно же работать не будет, но хоть как то поможет понять суть задачи.
Разве что делать SELECT -> SELECT
SELECT product_id
FROM product_attribute
WHERE attribute_id IN (12, 17)
GROUP BY product_id
HAVING COUNT(DISTINCT attribute_id) = 2
можете расписать схему работы ?
Выделяем (WHERE) записи с заданными значениями attribute_id. Считаем, сколько разных (DISTNCT) attribute_id выделено для каждого product_id (GROUP BY). Оставляем только те product_id (HAVING), для которых посчитанное количество равно количеству разных attribute_id в списке (т.е. для которых присутствует хотя бы по одному разу каждый заданный attribute_id).
SELECT
pa.product_id
FROM
product_attribute pa
INNER JOIN
(
SELECT
product_id
,COUNT(*) Num
FROM
product_attribute
GROUP BY
product_id
) T ON T.product_id = pa.product_id
WHERE
attribute_id IN (12, 17)
GROUP BY
pa.product_id
HAVING
COUNT(*) = MAX(T.Num)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Пытаюсь подключиться к базе данных через intellij idea, при нажатии на test connection получаю ошибку Connection to MySQL - mydb@localhost failed[08001] Could not create connection to database...
Генерирую портфолио на сайте, блоки которые генерируются должны по очереди иметь класс is-left is-right, те