테이블에서 선택하고 CASE 문을 사용하여 세 행을 조인하고 싶습니다. 나는 C++에 익숙하다. IF 문장이 될 것이다. 여기에 잘못된 의사 코드가있다. (이 것은 조인되는 행에 적용된다. 왜.)SQL : 여러 행의 값에 따라 여러 행에 참여하십시오.
IF (value1 == 1) // IF any of the rows have value1 == 1
{
value1 = 1;
value2 = 0;
}
ELSE IF (value1 == 0 && value2 == 1) // IF all of the rows have value1 == 0 and any have value2 == 1
{
value1 = 0;
value2 = 1;
}
그래서 세 개의 행은 다음과 같이 보면 (ID를 동일해야 예를 들어,
ID value1 value2
--------------------
1 1 0
1 0 0
1 0 1
내가 좋아하는 것) ... 저를 요구하지 않는 합류 결과적 행이되도록
1 1 0
그러나 3 개의 원래 행
ID value1 value2
--------------------
1 0 0
1 0 0
1 0 1
모습은 내가 결과에 합류 행
1 0 1
나는 겉만 번지르르 한 테이블 형식에 대 한 미안 해요는, 내가 마크 업에 익숙하지 않아요 싶습니다. 올바른 방향으로 도움이나 조언을 주시면 감사하겠습니다. 쿼리 당 3 개 이상의 행을 조인해야하므로 속도가 실제로 문제가되어서는 안됩니다.
을 * : 단순히 4 자리하여 줄 들여 쓰기 (또는 행을 선택하고을 누르십시오 도구 모음의 "코드 샘플"버튼 {}})을 사용하여 올바르게 서식을 지정하십시오. –
value1과 value2에 다른 숫자를 사용하면 목표를 더 잘 설명 할 수 있습니다. 모든 것이 1 또는 0 일 때, 당신이 목표로하는 것을 식별하는 것이 쉽지 않습니다. – WarrenT
1과 0이 가장 명확 할 것이라고 생각했는데, 무엇을 사용해야합니까? 아니면 어떤 복잡한 숫자일까요? – sage6