MySQL SELECT INNER JOIN и LIKE - PullRequest
       4

MySQL SELECT INNER JOIN и LIKE

0 голосов
/ 21 ноября 2011

Я хочу сделать что-то вроде этого:

SELECT
    s.name,
    COUNT(r.request_log_id) AS NumberOfRequests
FROM
    station AS s
LEFT JOIN request_log AS r ON r.requested LIKE '%s.station_id%'
GROUP BY 1

Но это дает 0 в NumberOfRequests, и я думаю, что это из-за его жестко закодированного s.station_id и его LIKE.

Кто-нибудь знает, как я могу это сделать?

Для вашей информации, r.requested представляет собой строку, содержащую некоторые данные, и один пример -

/ StationInfo - stationID = "262" - Статус = 0

Так что это тот самый статус, который я хочу включить и подсчитать, сколько строк в таблице request_log в нем имеют идентификатор станции для первой таблицы с именем station

1 Ответ

2 голосов
/ 21 ноября 2011

Первый подход:

SELECT
    s.name,
    COUNT(r.request_log_id) AS NumberOfRequests
FROM
    station AS s
LEFT JOIN request_log AS r 
   ON r.requested LIKE concat( '%',s.station_id, '%')
GROUP BY 1

будьте осторожны с этим неэквивалентом.

увидимся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...