Как искать по конечной части ключа в sql ?

Есть таблица (wp_postmeta), структура такая:

id post_id   key            value
1    11    fromcity_1       Москва
2    11    fromdistrict_1   Садовое кольцо
3    11    fromcity_2       Воронеж
4    11    fromdistrict_1   Коминтерновский
5    13    fromcity_2       Воронеж
6    13    fromdistrict_1   Северный


Есть вот такой sql запрос
SELECT post_id
FROM wp_postmeta AS p
WHERE p.`key` LIKE 'fromcity_%' AND p.`value` = 'Москва'
    AND EXISTS (
        SELECT 1
        FROM wp_postmeta AS c
        WHERE c.post_id = p.post_id
            AND c.`key` LIKE `fromdistrict_%`
            AND c.`value` = 'Садовое кольцо'
    )

Проблема в том что мне нужно чтобы id fromcity_ и fromdistrict_ были одинаковые и находились только записи с одним id ключа
например
fromcity_1 и fromdistrict_1
fromcity_2 и fromdistrict_2

как сделать?
  • Вопрос задан
  • 2211 просмотров
Решения вопроса 1
svd71
@svd71
есть такое слово like:

select * from mytable where myfield like '%SOMETHING'  -- ищет чтоб SOMETHING было в конце

select * from mytable where myfield like '%SOMETHING%'  -- ищет в нутри с любой позиции

select * from mytable where myfield like 'SOMETHING%'  -- ищет сначала.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы