반응형
오라클 호환 sql에서 튜플 비교가 가능합니까?
튜플이 내가 말하는 것의 용어라면 100%는 아니지만 나는 다음과 같은 것을 보고 있습니다.
Table grades
user grade
------------
Jim B
Bill C
Tim A
Jim B+
제가 할 수 있는 일은:
SELECT COUNT(*)
FROM grades
WHERE (
(user = 'Jim' AND grade = 'B')
OR (user = 'Tim' AND grade = 'C')
);
하지만 이런 것을 더 할 수 있는 방법이 있을까요?
SELECT COUNT(*)
FROM grades
WHERE (user, grade) IN (('Jim','B'), ('Tim','C'));
편집: 참고 사항으로, 저는 단지 다음과 같이 테스트했습니다.
(user, grade) = ('Tim','C')
그리고 그것도 실패하고 그래서 IN도 실패할 것이라고 생각했지만, 제가 틀렸습니다(감사하게도!).
게시한 쿼리는 유효한 구문이어야 합니다.
SQL> ed
Wrote file afiedt.buf
1 with grades as (
2 select 'Jim' usr, 'B' grade from dual
3 union all
4 select 'Bill', 'C' from dual
5 union all
6 select 'Tim', 'A' from dual
7 union all
8 select 'Jim', 'B+' from dual
9 )
10 select *
11 from grades
12 where (usr,grade) in (('Jim','B'),
13 ('Tim','C'),
14* ('Tim','A'))
SQL> /
USR GR
---- --
Jim B
Tim A
하위 쿼리를 사용하여 튜플 목록을 테이블처럼 처리할 수 있습니다.
SELECT COUNT(*)
FROM grades
JOIN (
SELECT 'Jim' as user, 'B' as grade from dual
UNION ALL
SELECT 'Tim', 'C' from dual
UNION ALL
SELECT 'Pim', 'D' from dual
) as SearchTarget
ON SearchTarget.user = grades.user
and SearchTarget.grade = grades.grade
언급URL : https://stackoverflow.com/questions/5425041/is-it-possible-to-compare-tuples-in-oracle-compatible-sql
반응형
'programing' 카테고리의 다른 글
AngularJS - 새로 고침 토큰 처리? (0) | 2023.10.24 |
---|---|
WP의 CPT Custom Menu Position 문제 (0) | 2023.10.19 |
하위 요소로 인해 트리거된 마우스 아웃 이벤트를 비활성화하는 방법은 무엇입니까? (0) | 2023.10.19 |
[Object: null prototype] 수정 방법 { title: 'product' } (0) | 2023.10.19 |
iOS 9의 스와이프 가능 테이블 뷰 셀 (0) | 2023.10.19 |