0

我在下面有一个问题

表格1

第一种情况:

postcode
LS1 1LS

第二种情况:

postcode
LS11LS

表2

    postcode| region
    LS1 | Leeds
    LS11    | Leeds

我正在使用以下查询来计算区域与相关邮政编码

SELECT table2.region as 'Region', COUNT( table2.postcode ) as  'count'
FROM table1
INNER JOIN table2 ON table1.postcode LIKE CONCAT( table2.postcode,  '%' ) 
WHERE table1.postcode >  ''
GROUP BY Region 

在表 1 第一个案例中应用它时,我得到

Leeds | 1

在将其应用于表 1 第二种情况时,我得到

Leeds | 2

出于某种原因,在这个邮政编码/类似的邮政编码中,另一半与第一部分完全相同,并且在类似的内部连接之间没有空格返回计数为 2。

有什么解决方案吗?

看到这个sqlfiddle

4

1 回答 1

0

如果表 1 中有两个条目的值LS1 1LSLS11LS,则您的联接将匹配这两个条目,计数为 2。

于 2013-03-26T18:35:00.063 回答