SELECT CASE로 SQL을 작성해야하는데, 내부 SELECT가 둘 이상의 요소를 리턴하는 경우, 전체 SELECT를 실행해야합니다. 그렇지 않으면 빈 문자열을 리턴해야합니다. 내가 필요로하는 최적화 어떤 종류의 번 결과를 검색 한 번, 카운트를 할 두 번 내부 SELECT 쿼리를 실행하지 않기 위해,내부 SELECT가있는 SELECT CASE
SELECT CASE
WHEN (SELECT COUNT (DISTINCT obj.param1 WHERE...)
from table1) > 1 THEN ''
ELSE SELECT * from table2
where obj2.param1 = (SELECT DISTINCT obj.param1 from table1 WHERE...)
입니다 : 작동하는 코드는 다음과 같이 (의역)입니다 상위 SELECT 쿼리에 필요합니다. 이것이 가능한가?
IMHO, 불가능, 사용자 검색어에 대한 접근 방식을 변경해야합니다. –
어떤 데이터베이스입니까? SQL Server? 신탁? MySql? –
이것은 내 마음에 오는 유일한 접근 방법이지만, 어떤 제안도 환영합니다. 그것은 SELECT CASE와 함께 할 필요는 없지만, 최적화되어 있다면, 함께 살 수 있습니다. @ 스탠리, 데이터베이스 Postgres입니다 –