홈>
ID, appId, status, orderId가있는 테이블 ORDERS가 있습니다.
status can - OK, ONHOLD, DONE, REJECT etc
For this use case i want to filter with status OK and ONHOLD and order if status is "OK" - I want to get allow all orderIds if status is "ONHOLD" - only get ids with whiteList orders. Here the statusList has 2 Strings and whiteListOrders dynamically generated list
public List<Long> getIds(
@Bind("appId") String appId,
@BindIn("statusList") List<String> statusList,
@BindIn("whiteListOrders") List<String> whiteListOrders);
mysql 쿼리에서 이것을 달성하는 방법
- 답변 # 1
- 답변 # 2
질문을 통합 할 수 있습니다. 원하는 데이터를 제공합니다.
언급 한 바와 같이, 이것은(SELECT ids FROM ORDERS WHERE status='OK' AND ids IN (@whiteListIds)) UNION (SELECT ids FROM ORDERS WHERE status='ONHOLD' AND ids IN (@whiteListIds))
UNION
없이 가능할 것입니다 :#set @whitelist = your whitelist IDS; /* Not sure how you have this setup */ SELECT * FROM user WHERE status='OK' OR ( status='ONHOLD' AND id IN (@whitelist) )
이것이 도움이되기를 바랍니다.
- 답변 # 3
제공된 답변 중 어느 것도 UNION을 사용하므로 최적이 아닙니다. 이 작업을 수행 할 이유가 없으므로 AND, OR 및 괄호 조합을 사용하여 WHERE 절 내에 절을 결합하여 필요한 여러 절을 쉽게 추가 할 수 있습니다.
and exists(subquery)
사용을 고려하고 싶습니다in (subquery)
를 사용하는 대신
관련 자료
- group concat - mysql 쿼리 - 특정 필드의 선택에 대해서만 활성화되는 where 절
- sql - 동일한 quote_num이지만 최대 상태 및 최대 버전 인 MySQL 쿼리에서 멈춤
- join - where 절을 사용하여 SQL 쿼리에서 최신 날짜 시간 레코드를 얻는 방법은 무엇입니까?
- MYSQL WHERE 절, 지난 주
- sql - 쉼표로 구분 된 값을 반환하는 where 절의 mysql 하위 쿼리
- c# - Linq를 사용하여 쿼리하고 Where 절에서 일치 항목을 계산하고이를 투영합니다
- sql - mysql - where in 절을 사용하여 2 개의 테이블을 조인하십시오
- sql server - 하나 또는 두 날짜 범위 매개 변수가 모두 null 인 경우 SQL 쿼리의 조건부 Where 절
- select - Where Exist 절 MySQL의 대안
- count - 동일한 SQL 쿼리에서 WHERE, HAVING 및 GROUP BY 사용
- sql - 열이 목록의 요소를 포함하는 MySQL 선택 행
- php - 조건 1이 일치하지 않는 경우 조건 2에서 SQL 선택
- 더 나은 MySQL 쿼리를 최적화하는 방법은 무엇입니까?
- where clause - SQL에서 조건에 따라 쿼리를 표시하는 방법은 무엇입니까?
- sql server - WHERE 절에서 변수 사용
- mysql - WHERE 절에서 하위 쿼리를 사용하지만 하위 쿼리 결과 당 하나의 일치로 제한
- JSON 필드에 대한 SQL Server where 절
- date - mysql - 어제와 오늘 사이에 특정 시간이 포함 된 쿼리 레코드
- 각 MySQL 데이터 파일 유형은 어디에 속합니까?
- sql - ALL 절의 MySQL 다중 열
관련 질문
- java : 웹 앱을 처음 시작할 때 데이터베이스를 만들고 채우려면 어떻게 해야 합니까?
- php : Laravel 8 GROUP BY의 Eloquent는 각 유형 중 하나 대신 각 행을 반환합니다.
- mysql : 다른 테이블의 테이블 건너뛰기 레code에서 레code 추출
- mysql : LEFT JOIN 쿼리의 동일한 필드에 여러 AND 조건을 추가하는 방법
- mysql : 테이블을 쿼리하고 기준에 따라 특정 열을 요약하지만 다른 열은 요약하지 않는 방법은 무엇입니까?
- mysql : 매개변수에서 쉼표로 구분된 값을 비교하여 해당 값을 기반으로 ID를 가져옵니다.
- mysql : 컴파일러가 비활성화되어 있을 때 설치 프로그램 SQL이 실행되지 않는 이유는 무엇입니까?
- mysql : IN 절에서 동일한 ID를 가진 가격의 합계 찾기
- mysql : Azure VM에서 Wildfly 서버를 확장하는 방법
- mysql : 행 크기가 같지 않은 테이블 2개 조인
아래는 일반적인 검색어입니다-
테이블 및 열 세부 정보를 제공 할 수있는 경우 조인으로도 수행 할 수 있습니다.
이것이 도움이되기를 바랍니다.