질문이 있으시면 사과하겠습니다. MS SQL을 사용하고 있습니다. 텍스트 필드에서 3 가지 특정 항목을 찾고 있습니다. IH-, MPC 또는 ICC. 텍스트 필드에 이러한 항목이 있으면 해당 항목이 발견되었음을 나타내려고합니다. 첫 번째 행에서 3 개가 모두 발견되면 IH-, MPC, ICC가 포함 된 필드가 있습니다. 여기가 제 쿼리입니다.좋아요를 선택한 후 발견되면 결과가 표시된 열을 추가하십시오.
SELECT tt.TITLE, tt.ITEM_REFERENCE_ID, tt.VERSION, PATH_MAPPINGS.PATH, tt.CONTENT
FROM ITEM_REFERENCES INNER JOIN
PATH_MAPPINGS ON ITEM_REFERENCES.ORGANIZATIONAL_ITEM_ID = PATH_MAPPINGS.ORGANIZATIONAL_ITEM_ID INNER
JOIN
ITEMS AS tt INNER JOIN
(SELECT ITEM_REFERENCE_ID, MAX(VERSION) AS MaxVersion
FROM ITEMS
GROUP BY ITEM_REFERENCE_ID) AS groupedtt ON tt.ITEM_REFERENCE_ID = groupedtt.ITEM_REFERENCE_ID AND tt.VERSION = groupedtt.MaxVersion ON
ITEM_REFERENCES.ID = tt.ITEM_REFERENCE_ID
WHERE (tt.CONTENT LIKE '%<text>AP[0-2]%' )
or
(tt.CONTENT LIKE '%<text>IH-[0-2]%' )
or
(tt.CONTENT LIKE '%<text>MPC[0-2]%' )
or
(tt.CONTENT LIKE '%<text>ICC[0-2]%' )
내 의견으로는이 스크립트를 작성해야합니다. MySQL은 단순히 열을 동적으로 추가 할 수 없습니다. 'IF (title LIKE ..., 1, 0) AS matched_on_title AS'와 같은 모든 열을 반복 할 수 있습니다. – twicejr
왜이 옵션이 필요한가요? 모든 옵션을 추가하는 옵션이 아닌가요? 스크립트는 부울 비교합니까? – twicejr