하는 방법을 선택한 이 경우에는? [중복]

0

질문

을 만드는 방법의 단 MSSQL 선택에서 쿼리를 이 경우:

  1. 우리는 2 개의 테이블:과일과 만기
  2. 목표 테이블을 받는 특정한 과일 수 있에 대한 정보를 데 NULL expirationDate 열입니다. 그 열매는 숫자가 있지 않 NULL 것 제로에서는 열이 있습니다. 숫자 4 에 존재하지 않는 만료 테이블,그래서 그것은 또한이 있 0 에서 결과,이 없기 때문에 NULL 입니다.

테이블

sql-server
2021-11-23 09:44:47
3
0

할 수 없습니다 쉽게 얻을 만료 날짜에 당신이 원하는 형식. 그러나 정말 중요하지 않습(?). 나는 가정을 원하는 1 또는 0 에 새로운 표기 때문에 사용할 경우 문 확인하려면 열매가 나쁘지 않다. 를 해결할 수 있습이 쉽게:

if(expirationDate == null){/*something*/} 

또는,당신이 할 수 있 do

if(expirationDate) //this is all fruit that is not bad
else{/*your code to deal with expirated fruit here*/}

참고:모르겠어 어떤 프로그래밍 언어를 사용하고 있습니다. 그러나 그들의 대부분:null0 은 거짓입니다.

if(null) // false
if(0) //false
if(undefined) //false, in javascript
//everything that is not a false value, is true.
if("oiaehgtaoiwgneawg") //true
if(-1) //true

에 응답하기 SQL 쿼리 질문:

당신은 이미 당신은 당신이해야 할 모든이에 만료 테이블

SELECT fruit_number, expiration_date
FROM expiration;

이 도움이 되었으면 좋겠습니다

2021-11-23 10:13:04

감사에 대한 응답이지만,이 작동하지 않습니다. 첫째,당신은 받을 것이 여러 동일한 과일을 숫자자.g1 는 두 개의 레코드입니다. 둘째,과일 수 있 NULL,그것 보다는 부여되지 않은 다른 유효기간이 있습니다.
Grzegorz Kaczmarczyk

ah 괜찮아...나는 확실히 잡아서 당신은 질문입니다. 내 점심시간은 위에 지금 하지만 내가 볼 것이 작업 후,다른 사용자가 해결된 문제가 아직:)
CodeAddict
0

당신은 그것을 사용하는 Case 상태입니다. 그러나를 변경해야한 문은 조금:

select fruit_number, --distinct(fruit_number),
x =case expiration_date
when NULL then null
else 0
end
2021-11-23 10:07:49
0

내 친구는 해결책을 발견했다.

SELECT
    fruit_number, 
    MAX(expirationDate) as expirationDate
FROM
    (SELECT
        f.fruit_number,
        CASE
            WHEN e.expiration_date is NULL AND e.fruit_number IS NOT NULL THEN 1
            ELSE 0
            END AS expirationDate
    FROM
        expiration as e
        FULL OUTER JOIN fruits as f ON f.fruit_number = e.fruit_number
    WHERE
        f.fruit_number IS NOT NULL
    ) t
GROUP BY
    fruit_number
ORDER BY
    fruit_number
2021-11-23 10:23:25

환 Stack Overflow. 코드없이 설명은 거의 도움이 됩니다. Stack Overflow 에 대해 학습,을 제공하지 않는 조각을 맹목적으로 복사 및 붙여넣기입니다. 를 편집하십시오 당신의 질문에 그것이 얼마나 설명 답변을 특정 문제되는가 물었다. 보 대답하는 방법.
Sfili_81

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................