タイトルは少し長すぎますが、基本的には 2 つのテーブルがあり、1 つはインシデント データincident_data
を含み、インシデント ID、日付、時刻、その他の構造化フィールドなどを含みます。もう 1 つのincident_text
フィールドには、説明、解決策、およびその他の自由形式のテキスト フィールドが含まれています。
説明フィールドと解決フィールドの両方を検索し、incident_text
それを結合してincident_data
詳細を取得したいと考えています。それらは によって結合されincidentno
、各インシデントは に 2 つのエントリincident_text
(1 つは説明用、もう 1 つは解決用) を持つことができます。
これが私のクエリだとしましょう:
SELECT
DISTINCT INCIDENTNO as "Incident Number",
SOME_OTHER_FIELDS ETC..,
TEXTFIELD AS "Text"
TEXTFIELDTYPE AS "Text Type"
FROM INCIDENT_DATA
INNER JOIN INCIDENT_TEXT
ON INCIDENT_DATA.INCIDENTNO=INCIDENT_TEXT.INCIDENTNO
WHERE TEXT LIKE ANY ('%THIS THING%', '%THAT THING%')
使用しているにもかかわらず、そのようなテーブルが表示されますDISTINCT
INCIDENT-1 ... FORGOT MY PASSWORD TO THIS THING ... DESCRIPTION
INCIDENT-1 ... PASSWORD RESET TO THAT THING.... RESOLUTION
追加するAND TEXTFIELDTYPE = 'DESCRIPTION'
と、重複はなくなりますが、解像度フィールドの検索も停止します。これは引き続き行いたいと思います。
私が探しているのは、説明フィールドと解決フィールドの両方を検索しながら、インシデントの説明を含むインシデントごとに 1 行です。