2014-07-23 143 views
0

我有一個表命名爲「公司」,我存儲有關公司立陶宛是我列出的,因此columnns被命名爲名稱,PHONENUMBER,鎮,郵政編碼等匹配兩個表的SQL

一般信息但是,在我的MySQL表中輸入數據時,還有一個名爲「region」的列,我沒有填寫任何內容。遊民。因此,整列是空的(即沒有行在「地區」字段中攜帶值)

但是,我有另一個表,名爲「地區」 - 由兩列組成:region_name & zipcodes - 其中所有該國每個地區的郵政編碼都被儲存起來,只有在線路中斷時纔會被分開。

我如何腳本的更新語句將在REGION_NAME填寫對應於各行的郵編(即每家公司)的公司表

例子:

一家公司有一個名爲'companies'的表中的5000郵政編碼但沒有列出地區。名爲「區域」的表格在region_name爲「Northwest」的行中具有郵編5000,其中值由其他郵政編碼夾在中間,並用換行符分隔。

這裏的「區」表的圖像:

http://i.snag.gy/MRQje.jpg

我現在該如何腳本中的PHP或SQL語句,即會填寫「西北」爲有拉鍊碼匹配的區域公司?

到目前爲止,我還做這樣的:

$result = mysql_query("SELECT * FROM companies WHERE zipcode LIKE '$something_here'") 
or die(mysql_error()); if(mysql_num_rows($result) > 0){ 
echo mysql_num_rows($result); 
while ($row = mysql_fetch_assoc($result)){ 
} } else { echo "no matches"; } 
} else { echo "ingen matches."; } 
+2

與我們分享什麼你試過了嗎?您可以設置一個SQL小提琴 - http://sqlfiddle.com/ –

+0

可能的重複[使用MySQL LIKE匹配郵編和分配區域](http://stackoverflow.com/questions/24901697/using-mysql-like-to -match-zipcodes-and-assign-regions) –

+0

示例數據對於這類事情確實很有幫助。另外,PostgreSQL標籤,是吧? –

回答

0

我很懷疑,你可以在短短SQL實現這一目標。

但是,轉念一想,我不明白,在companies表這些區域填充的需要,您可以隨時在regions表查詢找到region

Select c.name, c.phonenumber, c.town, c.zipcode, r.region_name 
from companies c, regions r where r.zipcode like '%' + c.zipcode + '%' 
and c.zipcode like '%something here%' 
+0

即使郵政編碼被換行符分開,這是否可以應用?既然你把這兩個等同起來,就不會有任何匹配,對吧? – user3866921

+0

linebreak是什麼意思? –

+0

郵政編碼存儲爲: http://i.snag.gy/MRQje.jpg – user3866921