2017-11-20 1 views
0

IBM Power를 사용하여 DB2에서 SQL을 사용 중입니다. 몇 가지 CTE의 주문에서 동일한 데이터를 가져온 다음 몇 가지 입력란을 통해 주문을 내 보냅니다. 하지만 문제는 둘 중 하나에 null이있는 경우입니다. '이것이 null 인 경우 어떻게하면이 다른 필드에 의한 주문이 같은 것인가'라고 말할 수 있습니까? 나는 이것이 불가능하다는 느낌이 들지만 나는 물을 것이라고 생각한다. 하나의 명령문에서 정적 정보를 잡아내는 성능을 절약 할 수 있도록 각 행에 여러 결과를 추가하려고합니다. 두 그림이 같은 결과에 있습니다.어떤 테이블의 ORDER BY가 먼저 처리되도록 동적으로 선택할 수 있습니까?

죄송합니다. 데이터 일부를 차단해야하지만 도움이되기를 바랍니다.

https://i.imgur.com/PHVqQyL.png

+0

미안 두 번째 URL이 작동하지 않았다, https://imgur.com/PHVqQyL – AS4noob

+0

답변을 얻기의 기회를 향상시키기 위해 추가/주석으로 정보를 변경하는 대신 질문을 업데이트하십시오. 자세한 내용은 [좋은 질문이 있습니까?] (https://stackoverflow.com/help/how-to-ask)를 참조하십시오. –

답변

1
select * 
from mytable 
order by coalesce(thisField, otherfield); 

테스트

SELECT * FROM CMW1 
ORDER BY FLD1  

결과 유착으로

FLD1  FLD2 
ABC   ABC 
-   TEST 
-   ABC 

SELECT * FROM CMW1   
ORDER BY coalesce(FLD1,fld2) 

결과

FLD1  FLD2 
ABC   ABC 
-   ABC 
-   TEST 
+0

당신이 이것을 할 수 있다는 것을 결코 알지 못했습니다! 고마워하지만 문제가 해결되지 않았습니다. – AS4noob

+0

@ AS4noob 그러면 문제가 설명 된대로 표시되지 않습니다. 아마도'thisfield'는 실제로 Null이 아닙니다. – Charles

+0

OUTER JOIN을 사용하고 있습니다. 데이터가 없으면 누락 된 정보가 NULL 자리 표시 자로 유지됩니다. 틀렸습니까? – AS4noob

관련 문제