[英]Matching two tables with SQL
我有一個名為“ companies”的表,在其中存儲了我要列出的立陶宛公司的一般信息,因此這些列的名稱,名稱,電話號碼,城鎮,郵政編碼等。
但是,還有一個名為“區域”的列,在我的MySQL表中輸入數據后,我沒有填寫任何內容。 笨蛋 這樣整個列都是空的(即,沒有行在“區域”字段中帶有值)
但是,我還有另一個名為“ regions”的表,該表由兩列組成:region_name和zipcodes-存儲該國家/地區中每個地區的所有郵政編碼,僅用換行符分隔。
我該如何編寫一條更新語句,該語句將在companys表中填寫與每一行(即每個公司)的郵政編碼對應的region_name
例:
一家公司在名為“ companies”的表中的郵政編碼為5000,但未列出區域。 名為“ regions”的表在一行中具有郵政編碼5000,region_name為“ Northwest”,其中該值位於其他郵政編碼之間,由換行符分隔。
這是“區域”表的圖像:
現在,我該如何編寫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.