0

2 つのテーブルがあり、1 つには新聞のリストと、その新聞のセクターの郵便番号 (部分的な郵便番号) が含まれています。たとえば、「BB5 2」「Accrington Observer」などです。別のテーブルには、BB5 2HQ などの完全な郵便番号の大きなリストがあります。

部分的なコードと完全なコードの一致に基づいて、2 番目のテーブルからの完全な郵便番号と、最初のテーブルからの一致する出版物を含む結果セットを生成したいと考えています。

私はこれを試しましたが、郵便番号のある空白の出版物のように、常に一致する結果の直後に、奇妙な結果が生成されます。

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

1 に答える 1

0

は、に一致する行があるかどうかに関係なく、left joinのすべての行が表示されるようにします。に一致する行がない場合、フィールドはになります。postcodessector_domainssector _domainssector_domainsnull

これはあなたが見ている行動を説明しますか?もしそうなら、あなたは次のようなことを試すことができます:

SELECT sd.domain, p.postcodes FROM postcodes p join sector_domains sd where p.postcodes LIKE CONCAT(sd.postcode,'%') ;
于 2011-06-15T10:24:30.127 に答える