하나의 값에 대해 여러 열 확인
다음과 같은 열이 있는 테이블이 있습니다.
id,col1,col2,col3,col4
이제 확인해보겠습니다.ANY
의col1, col2, col3, col4
값이 통용되다
그렇게 하는 먼 길은..
SELECT * FROM table WHERE (col1 = 123 OR col2 = 123 OR col3 = 123 OR col4 = 123);
그 반대 버전인 것 같아요.IN
.
내가 원하는 것을 할 수 있는 더 쉬운 방법은 없을까?
를 사용할 수 있습니다.IN
다음과 같이 서술합니다.
SELECT * FROM table WHERE 123 IN(col1, col2, col3, col4);
SQL 바이올린 데모
IN의 반대 버전입니다.
아니요, 아닙니다. 이것은 이 명령어를 사용하는 것과 같습니다.OR
질문하신 대로입니다.
이를 명확히 하기 위해:
술어IN
또는 set 멤버쉽은 다음과 같이 정의됩니다1.
어디서?Value Expression
다음 중 하나를 사용할 수 있습니다.
그래서 가치표현을 이용해서 이렇게 하는 것이 좋습니다.123
리터럴입니다.
1, 2: Images from: SQL Queries for Mere Mortals(R): A Hands-On Guide to Data Manipulation in SQL
저도 비슷한 문제가 있어서 이렇게 해결했습니다.SELECT * FROM table WHERE col1 OR col2 IN(SELECT xid FROM tablex WHERE somecol = 3)
그것이 "최선의 방법"인지는 모르겠지만, 나에게는 효과가 있다.
생각?
다음과 같은 작업을 수행할 수 있습니다. (주의: 열이 숫자 값이라고 가정합니다.그리고 연결된 값에 따라 찾고 있는 문자 시퀀스가 생성될 수 있으므로 구분 기호를 사용하여 열 값을 구분하십시오.이 예에서는 파이프(|)가 딜리미터입니다.
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) + '|'
)
언급URL : https://stackoverflow.com/questions/13916400/checking-multiple-columns-for-one-value
'programing' 카테고리의 다른 글
Python의 최대 재귀 깊이는 얼마이며, 어떻게 하면 재귀 깊이를 늘릴 수 있습니까? (0) | 2022.12.26 |
---|---|
작곡가의 글로벌 패키지는 어디서 찾을 수 있습니까? (0) | 2022.12.26 |
판다 수술 진행 상황 표시기 (0) | 2022.12.26 |
두 이미지 간의 차이를 수량화하려면 어떻게 해야 합니까? (0) | 2022.12.26 |
vue-material: 알 수 없는 커스텀 컴포넌트 md-md-content (0) | 2022.12.26 |