A
Size: a a a
A
A
СК
NK
A
NK
СК
GROUP_CONCAT(CONCAT('[', key, '=', value, ']'))
иLOCATE('[key1=value1]', ...)
СК
NK
NK
СК
SELECT ...
FROM
...
items
WHERE
COUNT((
SELECT 1
FROM items_meta
WHERE
item_id = items.id
(
(key = key1 AND value = value1)
OR (key = key1 AND value = value1)
)
GROUP BY item_id, key
)) = conditions_count
Только тут тестить нужно, возможны коллизииS
S
СК
СК
SELECT ...
FROM
...
items
WHERE
COUNT((
SELECT 1
FROM items_meta
WHERE
item_id = items.id
(
(key = key1 AND value = value1)
OR (key = key1 AND value = value1)
)
GROUP BY item_id, key
)) = conditions_count
Только тут тестить нужно, возможны коллизииJOIN
оформить можноSB
A
SB
items
, и есть таблица items_meta
с колонками item_id
, key
, value
. надо выбрать такие items
, которые имеют записи в items_meta
, например что для записи существует meta key=key1 and value=value1
и существует запись key=key2 and value=value2
(обязательно надо несколько условий)S
NK