누군가가 나를 도울 수있는 하위 쿼리에 문제가 있습니다.SQL 하위 쿼리가 1보다 큰 값
나는 다음과 같은 실행하는 경우 :
select t4.code from OITM T0
INNER JOIN DLN1 T1 ON T1.[ItemCode] = T0.[ItemCode]
INNER JOIN ODLN T2 ON T2.[DocEntry] = T1.[DocEntry]
INNER JOIN ITM10 T3 ON T3.[ItemCode] = T0.[ItemCode]
LEFT JOIN ODCI T4 ON T4.[AbsEntry] = T3.[ISCommCode]
WHERE T2.DocEntry = '7060'
결과는 다음과 같습니다
어떤 경우에는 여러 값이 그 원하는 일치하는 행과에서하지 않는 사람이있을 수 있지만 같은 시간. 이 컴파일되지 않습니다 분명히
IF(
(SELECT
T4.Code
FROM OITM T0
INNER JOIN DLN1 T1 ON T1.[ItemCode] = T0.[ItemCode]
INNER JOIN ODLN T2 ON T2.[DocEntry] = T1.[DocEntry]
INNER JOIN ITM10 T3 ON T3.[ItemCode] = T0.[ItemCode]
LEFT JOIN ODCI T4 ON T4.[AbsEntry] = T3.[ISCommCode]
WHERE T2.DocEntry = '7060') NOT IN ('22030010','22030001','22030009')
)
BEGIN
SELECT 'MESSAGE'
END
: 내가 어떤 행의 [코드] 열은 특정 일을 포함하지 않는 경우 이러한 결과에 대해 확인 메시지를 표시하는 하위 쿼리가있는 쿼리를 작성했습니다
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
HAVING 그들은 분명히 잘못된 메시지를 표시하지 않고 컴파일로 COUNT가 작동하지 않습니다 : 그것은 1 개 이상의 행을 반환하는 경우.
이것이 가능합니까 아니면 잘못된 트리를 짖고 있습니까?
감사합니다. 같은 라인이 있는지 확인을 위해
어떻게 바로 쿼리에'where' 절을 추가하는 방법에 대한? –