私は3つのテーブルを持っています。3つのテーブルのSQLクエリ、1つは異なるカラム名を使用
プロジェクト、キャンペーン、クライアント。
searchtermが一致する3つのテーブルすべてから結果を返す必要があります。しかし、私はプロジェクトとキャンペーンテーブルの '名前'列をチェックする必要がありますが、クライアントテーブルの '説明'列をチェックする必要があります。注:これは既存のクライアントデータベースですが、私は列名を変更する権限がありません。
例:
name as title FROM projects WHERE name LIKE %data%,
name as title FROM campaigns WHERE name LIKE %data%
と
description as title FROM clients WHERE description LIKE %data%
私は、クエリを結合するために苦労している: 'データ' のためのユーザーの検索は、私が選択する必要があります。以下は私がこれまでに持っていた、構文エラーを返すものです。私は間違ったアプローチをとっているかもしれないとも考えています。あなたはunion all
を探している
SELECT
p.name,
c.name,
cl.description AS title
FROM
projects,
campaigns,
clients
WHERE
p.name LIKE % DATA %
OR c.name LIKE % DATA %
OR cl.description LIKE % DATA %
この回答を確認してください:https://stackoverflow.com/questions/45327255/search-multiple-tables-for-the-same-value-and-get-table-where-result-it-comes-fr/45327692 #45327692 –
[同じ値の複数のテーブルを検索し、その結果がどこにあるテーブルを取得する]の可能な複製(https://stackoverflow.com/questions/45327255/search-multiple-tables-for-the-same-value- and-get-table-where-result-it-comes-fr) –
解答 –