これが単純なものであることを願っています。必要な結果を取得する方法が見つかりません。SQLで間違ったキーワードを使用している可能性がありますか?
氏名フィールドを含む従業員テーブルを検索しています。このフィールドは、「Sam」または「Mr Evans」または「Mr Sam Evans」のいずれかです。
Name フィールドを含む別の Names テーブルと部分的に一致するものを見つけようとしています。これは通常、「Sam」や「Evans」などの短い名前ですが、「Sam Evans」の可能性もあります。
次のように、* を使用した場合と使用しない場合のように試しました
SELECT tblEmployee.FullName, tblNames.Name
FROM tblEmployee, tblNames
WHERE tblEmployee.FullName Like "*" & tblNames.Name & "*"
私が望む結果だけでなく、このクエリは、私が望まない「Mr. Samson」の Employee FullName を返す可能性があります。文字列内の単語の一部に Sam を含む FullNames ではなく、完全な単語 "Sam" を含む結果のみを表示したいのです。だから、サム・エヴァンスさん、サム・スミスさん、サリー・エヴァンスさんなどに会いたいです。
これが理にかなっていることを願っています。助けてくれて本当にありがとうございます
編集 - 解決策
私はこれを解決しました - 同様の問題を抱えている人に役立つかもしれない場合に備えて投稿してください。
WHERE " " & tblEmployee.FullName & " " Like "* " & tblNames.Name & " *"
基本的に、従業員の氏名の最初と最後にスペースを追加することで、すべての正しいレコードを取得できます。このようなフィールドを埋めることができるとは思っていませんでしたが、同僚が私に情報を提供してくれました!