簡體   English   中英

用SQL匹配兩個表

[英]Matching two tables with SQL

我有一個名為“ companies”的表,在其中存儲了我要列出的立陶宛公司的一般信息,因此這些列的名稱,名稱,電話號碼,城鎮,郵政編碼等。

但是,還有一個名為“區域”的列,在我的MySQL表中輸入數據后,我沒有填寫任何內容。 笨蛋 這樣整個列都是空的(即,沒有行在“區域”字段中帶有值)

但是,我還有另一個名為“ regions”的表,該表由兩列組成:region_name和zipcodes-存儲該國家/地區中每個地區的所有郵政編碼,僅用換行符分隔。

我該如何編寫一條更新語句,該語句將在companys表中填寫與每一行(即每個公司)的郵政編碼對應的region_name

例:

一家公司在名為“ companies”的表中的郵政編碼為5000,但未列出區域。 名為“ regions”的表在一行中具有郵政編碼5000,region_name為“ Northwest”,其中該值位於其他郵政編碼之間,由換行符分隔。

這是“區域”表的圖像:

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

現在,我該如何編寫PHP或SQL語句的腳本,為郵政編碼與該區域匹配的公司填寫“ Northwest”?

到目前為止,我已經做到了:

$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."; } 

我非常懷疑您能否僅通過SQL來實現這一目標。

但是,轉念一想,我不明白,在這些區域填充的需要companies表中,你總能找到region從查詢regions表:

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%'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM