2013-07-09 3 views
0

정확하게 제목을 지정하는 방법이 확실하지 않으므로 미리 알려 주시기 바랍니다.SQL SELECT 쿼리에서 반환 된 열 값을 바꾸는 방법은 무엇입니까?

어쨌든, 나는 다음과 같은 SQL SELECT 쿼리 (오라클) 요청의 특정 상태를 검색 할 수 있습니다 : 현재

SELECT ib.incident_id, 
     ib.incident_status_id 
    FROM cs_incidents_all_b ib, cs_incidents_all_tl it 
    WHERE ib.incident_id = it.incident_id 
    AND ib.incident_status_id IN (
    SELECT st.incident_status_id 
     FROM cs_incident_statuses_tl st 
     WHERE st.NAME IN 
      ('Accept Order', 
       'Order Accepted', 
       'Address Retrieved', 
       'Analyze', 
       'Entered', 
       'Information Retrieved', 
       'Retrieve Address', 
       'Retrieve Information', 
       'Returned')); 

,이 쿼리를 실행할 때, 나는 마지막 열에서 다음과 같은 출력을 얻을 (incident_status_id) : 103

이 번호는 cs_incident_statuses_tl 테이블의 핵심이며, 그 테이블에서, '이 경우에, 열 namned 이름 일반 텍스트 문자열을 가지고있다 alyze '.

위의 SELECT 쿼리를 어떻게 수정하면 실행시 반환 값이 103이 아닌 'Analyze'로 표시됩니까? 다양한 JOIN을 실험 해 보았습니다. 대신 명확한 텍스트 설명을 제시하는 좋은 방법을 찾지 못했습니다.

어떤 도움을 주셔서 감사합니다. 미리 감사드립니다. 미안, 질문이 어리 석다면 SQL은 나의 장점과 거리가 멀다. :)

답변

1

cs_incidents_all_tl을 시도,이 쿼리에서 제거 :

SELECT ib.incident_id, 
    ib.incident_status_id, 
    st.NAME 
FROM cs_incidents_all_b ib 
INNER JOIN cs_incident_statuses_tl st ON st.incident_status_id=ib.incident_status_id 
WHERE st.NAME IN 
     ('Accept Order', 
      'Order Accepted', 
      'Address Retrieved', 
      'Analyze', 
      'Entered', 
      'Information Retrieved', 
      'Retrieve Address', 
      'Retrieve Information', 
      'Returned')); 
+0

가 완벽하게 정상적으로, 많은 감사를 작동하는 것 같다! – BeeDog

1

약간 어색하지만 쿼리에 사용되지

SELECT ib.incident_id, 
     ib.incident_status_id, 
     ( SELECT st.NAME 
      FROM cs_incident_statuses_tl st 
      WHERE st.incident_status_id = ib.incident_status_id 
     ) StatusName 
    FROM cs_incidents_all_b ib, cs_incidents_all_tl it 
    WHERE ib.incident_id = it.incident_id 
    AND ib.incident_status_id IN (
    SELECT st.incident_status_id 
     FROM cs_incident_statuses_tl st 
     WHERE st.NAME IN 
      ('Accept Order', 
       'Order Accepted', 
       'Address Retrieved', 
       'Analyze', 
       'Entered', 
       'Information Retrieved', 
       'Retrieve Address', 
       'Retrieve Information', 
       'Returned')); 
관련 문제