2011-11-21 165 views
0

我whant做這樣的事情:MySQL的SELECT INNER JOIN和LIKE

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,我認爲這是becouse它的硬編碼s.station_id其運行像。

有誰知道我該怎麼做?

爲了您的信息,r.requested是一個字符串白衣在它和一個實例的某些數據是

/StationInfo - 的stationID = 「262」 - 狀態= 0

因此,它是在staitonid我whant獲得像和cound在REQUEST_LOG表中有多少行是在具有名爲第一臺站

回答

2

第一種辦法的站號:

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 

要小心這個非等值線。

見到你。

+0

感謝您的快速和良好的答案! – RickardP