값을 여러 열과 비교해야하며 하나의 결과 만 반환해야하는 쿼리가 있습니다. 문자열 인수를 정수로 변환하려고 시도 할 때 변환 오류가 계속 발생하지만 이것을 우회하는 좋은 방법을 찾을 수 없었습니다.SQL 검색 다중 필드, 하나만 반환
SELECT DISTINCT
CASE
WHEN table_one.integer_col = CAST('argument%' AS int)
THEN table_one.integer_col
WHEN table_one.varchar_col LIKE 'argument%'
THEN table_one.varchar_col
WHEN table_two.varchar_col LIKE 'argument%'
END
FROM table_one
INNER JOIN table_two
ON table_one.pk=table_two.fk
WHERE
table_one.integer_col = CAST('argument%' AS int)
table_one.varchar_col LIKE 'argument%' OR
table_two.varchar_col LIKE 'argument%'
'인수 %가'성공적으로 정수로 변환 할 수있는 경우는 작동하지만 때 할 수없는 쿼리 폭탄.
왜 정수에 대해 LIKE 쿼리를 수행 하시겠습니까? – RichardOD
죄송합니다. 너무 빨리 입력하는 중 ... 질문을 수정했습니다. –