2011-06-15 124 views
0

我有兩張表,其中一張包含新聞紙的報紙和扇區郵編列表(所以是部分郵政編碼)。例如'BB5 2''Accrington Observer'。在另一張表中,我有一個完整的郵編例如BB5 2HQ的大名單。部分字符串匹配問題

我想生成一個結果集,其中包含第二個表中的完整郵編和第一個表中匹配的發佈,其基礎是將部分代碼與完整代碼進行匹配。

我試過這個,但是它會產生奇怪的結果,像空白髮布郵政編碼,但總是直接匹配結果後;

SELECT sd.domain, p.postcodes FROM postcodes p left join sector_domains sd on p.postcodes LIKE CONCAT(sd.postcode,'%') ; 
+0

請退出標記標題。問題已經有一個標記機制。 – 2011-06-15 10:25:25

回答

0

left join將確保postcodes所有行會表示他們是否有匹配的行sector_domains。如果他們在sector _domains中沒有匹配的行,則sector_domains字段將爲null

這會解釋您看到的行爲嗎?如果是這樣,你可以嘗試類似:

SELECT sd.domain, p.postcodes FROM postcodes p join sector_domains sd where p.postcodes LIKE CONCAT(sd.postcode,'%') ;