Size: a a a

🐘PHPStorm TIPS & TRICKS

2020 July 06

A

Aleksandr baltazor in 🐘PHPStorm TIPS & TRICKS
а стоп, объеденение значений, гы
источник

A

Aleksandr baltazor in 🐘PHPStorm TIPS & TRICKS
хитро)
источник

СК

Станислав Квятковски... in 🐘PHPStorm TIPS & TRICKS
Это пиздец, а не вариант, зато сработает)
источник

NK

Nastya Kizza in 🐘PHPStorm TIPS & TRICKS
да, варик интересный
источник

A

Aleksandr baltazor in 🐘PHPStorm TIPS & TRICKS
интересно а с exist вообще сработает)))
источник

NK

Nastya Kizza in 🐘PHPStorm TIPS & TRICKS
как один из вариантов, можно сделать view
источник

СК

Станислав Квятковски... in 🐘PHPStorm TIPS & TRICKS
Только, наверное, надо что-то типа такого сделать, что бы подстроки не попадались
GROUP_CONCAT(CONCAT('[', key, '=', value, ']'))
и
LOCATE('[key1=value1]', ...)
источник

СК

Станислав Квятковски... in 🐘PHPStorm TIPS & TRICKS
Nastya Kizza
как один из вариантов, можно сделать view
Или процедуру с перебором по курсору)
источник

NK

Nastya Kizza in 🐘PHPStorm TIPS & TRICKS
смущает меня в этом то, что ключи задумывались динамическими
источник

NK

Nastya Kizza in 🐘PHPStorm TIPS & TRICKS
типа если добавили новый ключ, надо триггерить обновление view
источник

СК

Станислав Квятковски... in 🐘PHPStorm TIPS & TRICKS
Можно ещё
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

Sergio in 🐘PHPStorm TIPS & TRICKS
есть лицензия?
источник

S

Sergio in 🐘PHPStorm TIPS & TRICKS
свежая
источник

СК

Станислав Квятковски... in 🐘PHPStorm TIPS & TRICKS
Sergio
есть лицензия?
Гляди в файлах группы JetbrainsAgent
Или сам агент использовать можно, или триал ресет внутри архива
источник

СК

Станислав Квятковски... in 🐘PHPStorm TIPS & TRICKS
Станислав Квятковский
Можно ещё
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

Sergio Baquemetti in 🐘PHPStorm TIPS & TRICKS
Aleksandr baltazor
select * from items where exist(select item_id from items_meta where key = X and value = Y) and exist (select item_id from items_meta where key = Y and value = W)
Разрешите чуть изменить ваше решение
источник

A

Aleksandr baltazor in 🐘PHPStorm TIPS & TRICKS
та меняйте
источник

SB

Sergio Baquemetti in 🐘PHPStorm TIPS & TRICKS
Nastya Kizza
ребятюни, подскажите плз. допустим, есть таблица items, и есть таблица items_meta с колонками item_id, key, value. надо выбрать такие items, которые имеют записи в items_meta, например что для записи существует meta key=key1 and value=value1 и существует запись key=key2 and value=value2 (обязательно надо несколько условий)
Примите, пожалуйста и мой скромный вклад в решение вашей задачи
источник

S

Sergio in 🐘PHPStorm TIPS & TRICKS
Станислав Квятковский
Гляди в файлах группы JetbrainsAgent
Или сам агент использовать можно, или триал ресет внутри архива
не нашел в этой группе файлов
источник

NK

Nastya Kizza in 🐘PHPStorm TIPS & TRICKS
Sergio Baquemetti
Разрешите чуть изменить ваше решение
интересно, спасибо. может кстати норм отработать
источник