2011-11-21 113 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