同じサーバー上に異なるデータベースとテーブルを持つ2つのデータベースがあり、どちらも完全ではありません-retsにlat / lngsがなく、openにretsのアドレスがありません。不足している情報を見つけて修正する必要があります。だから私はこれを行う方法がわからなかったので最初に違いを見つけることができるかどうかを確認しようとしましたが、これを何時間もグーグルした後でもそれは機能していません。
USE garry_realestatedb_info;
SELECT CONCAT( HSN, ' ', CP, ' ', STR, ' ', STREETSUFFIX, ', ', CIT, ' ', STATE, ' ', ZP ) AS addy1
FROM `rets_property_residentialproperty`
minus
USE complete_localmap2;
select CONCAT(addrStreetNum,' ',addrStreet,', ',addrCity,' ',addrRegion,' ',addrPostcode) as addy2
FROM `Open_Address`;
私はもう試した
SELECT CONCAT(garry_realestatedb_info.rets_property_residentialproperty.HSN, ' ', garry_realestatedb_info.rets_property_residentialproperty.CP, ' ', garry_realestatedb_info.rets_property_residentialproperty.STR, ' ', garry_realestatedb_info.rets_property_residentialproperty.STREETSUFFIX, ', ', garry_realestatedb_info.rets_property_residentialproperty.CIT, ' ', garry_realestatedb_info.rets_property_residentialproperty.STATE, ' ', garry_realestatedb_info.rets_property_residentialproperty.ZP ) AS addy1
FROM `garry_realestatedb_info.rets_property_residentialproperty`;
WHERE NOT EXISTS
(select CONCAT(addrStreetNum,' ',addrStreet,', ',addrCity,' ',addrRegion,' ',addrPostcode) as addy2
FROM `complete_localmap2\.Open_Address`);
dbエラーを修正しようとすると(はい、2番目にdbがなかったことがわかります)、ここでホイールを回転させてどこにも到達しません。これは最終結果に必要なものでもないため、次の結果を表示するだけで助けを求めることができます。テストは2つのデータベースの問題を解決しません
私が本当にやろうとしているのは
(これがどのように機能するかわからないので、最初に違いを見つけようと考えましたが、すべてのゲームで私の目標を達成するためのより速い方法がある場合)
両方のテーブルでアドレスとlat / lngの両方を確認してください
1:アドレスがretsにあり、開いていないかどうかを確認します(lat / lngとアドレスを保存して、存在する場合は開きます)
2:lat / lngが開いていて、retsではないかどうかを確認します(lat / lngが存在する場合はretsに保存します)
3:lat / lngがretsにあり、開いていないかどうかを確認します(lat / lngが存在する場合は、開いて保存します)
私のテーブル情報データベース:garry_realestatedb_info»テーブル:rets_property_residentialproperty "新しい重複なし" rets_property_residentialproperty
HSN
CP
STR
STREETSUFFIX
CIT
状態
Z P
年
LNG
データベース:complete_localmap2»テーブル:Open_Address
Open_Address
addrStreetNum
addrStreet
addrCity
addrRegion
addrPostcode
addrLat
addrLng
あなたが提供するかもしれないどんな助けも前もってあなたに感謝します私は本当にここで立ち往生していて、それは複雑なmysqlで私の頭の上に少しあります(私は物事をうまく調べることができますこれはもう少し複雑です)
コメントと一致するようにコードを変更しました
SELECT CONCAT(`garry_realestatedb_info`.`rets_property_residentialproperty`.`HSN`, ' ', `garry_realestatedb_info`.`rets_property_residentialproperty`.`CP`, ' ', `garry_realestatedb_info`.`rets_property_residentialproperty`.`STR`, ' ', `garry_realestatedb_info`.`rets_property_residentialproperty`.`STREETSUFFIX`, ', ', `garry_realestatedb_info`.`rets_property_residentialproperty`.`CIT`, ' ', `garry_realestatedb_info`.`rets_property_residentialproperty`.`STATE`, ' ', `garry_realestatedb_info`.`rets_property_residentialproperty`.`ZP` ) AS addy1
FROM `garry_realestatedb_info`.`rets_property_residentialproperty`
minus
select CONCAT(`complete_localmap2`.`Open_Address`.`addrStreetNum`,' ',`complete_localmap2`.`Open_Address`.`addrStreet`,', ',`complete_localmap2`.`Open_Address`.`addrCity`,' ',`complete_localmap2`.`Open_Address`.`addrRegion`,' ',`complete_localmap2`.`Open_Address`.`addrPostcode`) as addy2
FROM `complete_localmap2`.`Open_Address`;
エラーが発生する
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select CONCAT(`complete_localmap2`.`Open_Address`.`addrStreetNum`,' ',`complete_' at line 4
これは問題なく動作します
SELECT CONCAT( `garry_realestatedb_info`.`rets_property_residentialproperty`.`HSN` , ' ', `garry_realestatedb_info`.`rets_property_residentialproperty`.`CP` , ' ', `garry_realestatedb_info`.`rets_property_residentialproperty`.`STR` , ' ', `garry_realestatedb_info`.`rets_property_residentialproperty`.`STREETSUFFIX` , ', ', `garry_realestatedb_info`.`rets_property_residentialproperty`.`CIT` , ' ', `garry_realestatedb_info`.`rets_property_residentialproperty`.`STATE` , ' ', `garry_realestatedb_info`.`rets_property_residentialproperty`.`ZP` ) AS addy1
FROM `garry_realestatedb_info`.`rets_property_residentialproperty`
LIMIT 0 , 30
これもそうです
select CONCAT(`complete_localmap2`.`Open_Address`.`addrStreetNum`,' ',`complete_localmap2`.`Open_Address`.`addrStreet`,', ',`complete_localmap2`.`Open_Address`.`addrCity`,' ',`complete_localmap2`.`Open_Address`.`addrRegion`,' ',`complete_localmap2`.`Open_Address`.`addrPostcode`) as addy2
FROM `complete_localmap2`.`Open_Address`;
違いを見つけるにはどうすればよいですか?
そのようなクエリの途中でデータベースを切り替えることはできません。
あなたは、CAN絶対アドレスを使用します。
SELECT schema.table.field
FROM schema.table
minus
SELECT otherschema.othertable.field
FROM otherscheme.othertable
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加