[SQL] 하나 개의 값에 대해 여러 열을 확인
SQL하나 개의 값에 대해 여러 열을 확인
나는 예를 들어이 같은 열이있는 테이블이 있습니다
id,col1,col2,col3,col4
지금, 나는 어떤 COL1, COL2, COL3의가, col4는 값 전달이 있는지 확인하고 싶습니다.
긴 방법은 될 것이라고 할 수 있습니다 ..
SELECT * FROM table WHERE (col1 = 123 OR col2 = 123 OR col3 = 123 OR col4 = 123);
나는 그것이 IN의 반대 버전 같아요.
내가하고 싶은 일을 할 수있는 쉬운 방법이 있습니까?
해결법
-
==============================
1.당신은 IN 술어를 사용할 수 있습니다, 그래서 같은 :
당신은 IN 술어를 사용할 수 있습니다, 그래서 같은 :
SELECT * FROM table WHERE 123 IN(col1, col2, col3, col4);
아니, 그것은 관찰 보고서 당신이 질문 한 방법을 사용하는 것과 동일하지 않습니다.
술어 또는 세트 회원 AS1을 정의한다 :
어디 값 식 중 하나이 될 수 있습니다 :
그것은 리터럴 값 표현 (123)을 사용하여, 이런 식으로 할 수있는 좋은입니다 그래서.
1, 2 : SQL에서 데이터 조작에 대한 실습 가이드 : 단순한 인간에 대한 SQL 쿼리 (R)의 이미지
-
==============================
2.연접 된 값을 사용하면 열 값을 구분하는 구분 기호를 사용하여 찾고있는 문자 시퀀스를 생성 단지 넣다, 열은 숫자 값입니다 가정 그리고 파이프 (|)이있는 구분 기호 : (참고 : 당신이 뭔가를 할 수 있습니다.. 예.)
연접 된 값을 사용하면 열 값을 구분하는 구분 기호를 사용하여 찾고있는 문자 시퀀스를 생성 단지 넣다, 열은 숫자 값입니다 가정 그리고 파이프 (|)이있는 구분 기호 : (참고 : 당신이 뭔가를 할 수 있습니다.. 예.)
SELECT [ID] ,[Col1] ,[Col2] ,[Col3] ,[Col4] FROM [Table1] WHERE '123' IN ( CAST([Col1] AS VARCHAR) + '|' + CAST([Col2] AS VARCHAR) + '|' + CAST([Col3] AS VARCHAR) + '|' + CAST([Col4] AS VARCHAR) + '|' )
-
==============================
3.나는 비슷한 문제를 가지고 있었고, 이런 식으로 해결 : SELECT *를 테이블에서 WHERE COL1 OR COL2 IN (FROM SELECT XID TABLEX WHERE somecol = 3)
나는 비슷한 문제를 가지고 있었고, 이런 식으로 해결 : SELECT *를 테이블에서 WHERE COL1 OR COL2 IN (FROM SELECT XID TABLEX WHERE somecol = 3)
확실하지가 "가장 좋은 방법"그러나 그것은 나를 위해 작동합니다.
생각?
from https://stackoverflow.com/questions/13916400/checking-multiple-columns-for-one-value by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 왜 LIKE 필터에 밑줄 문자를 사용하여 저 모두에게 결과를 제공합니까? (0) | 2020.04.24 |
---|---|
[SQL] 모든 필드는 NULL이 포함 된 경우 MySQL의 CONCAT는 NULL을 반환 (0) | 2020.04.24 |
[SQL] 어떻게 SQL Server Management Studio를 가진 복합 키를해야합니까? (0) | 2020.04.24 |
[SQL] CREATE TABLE IF NOT은 SQL 서버에서 해당 EXISTS [중복] (0) | 2020.04.24 |
[SQL] SQL에서 (엑셀) 쿼리에 매개 변수를 전달하는 방법 (0) | 2020.04.24 |