2012-06-22 3 views
0
나는이 추한 SELECT 문이

:그룹 선택 문

 Select 'Urbain' as Véhicule, Count(DISTINCT Plaintes.IDEvenements) as Hebdomadaire 
     FROM Plaintes join PVehicule on Plaintes.IDEvenements = PVehicule.IDEvenements 
     join EvVehicule on PVehicule.IDVehicule = EvVehicule.IDVehicule 
     join Classe_Vh on EvVehicule.IDClasse = Classe_Vh.IDClasse 
     join Type_Voy on Classe_Vh.IDTYPE_VOYAGE = Type_Voy.IDTYPE_VOYAGE 
     Where Plaintes.Date >= @Sunday AND Plaintes.Date < DATEADD(Day, 7, @SUNDAY) AND Description = 'Urbain' 

나에게이 결과 제공 :

enter image description here

내가이 쿼리 몇 번 복사 같은 간단한 키워드를 변경할 필요를 Nolise ~ Scholar 이렇게.

나는 다만 나가 그것을 베낀 지 나는 다른 요구를 얻을 것이라는 점을 알고있다 그 결과 S : 내 전체 요청을 변경하지 않고 하나의 SELECT을 것처럼 내가하고 싶은 것은이 모든 것을 하나 개의 배열 인

enter image description here

. 이 문제를 쉽게 해결할 수있는 방법이 있습니까?

enter image description here

편집 :

의 내가 다른 날짜의 상태를 확인해야합니다 다른 열을 추가하고 싶다고하자.

  Where Plaintes.Date >= @Sunday AND Plaintes.Date < DATEADD(Day, 7, @SUNDAY) 

내가이 테스트 것 인 교재 열을 추가합니다 : 그것은 이번 주에 있다면 영어 시험 주간을 의미

Hebdomadaire 확인합니다

  Where Plaintes.Date >= 2012/01/01 

는 어떻게 만들 수를 내 첫 번째 조건에 대해서만 매주 테스트하도록 쿼리 하시겠습니까?

+0

이미 무엇을 시도? – bluevector

답변

3

사용 GROUP BY Description는 :

SELECT 
    Description as Véhicule, 
    Count(DISTINCT Plaintes.IDEvenements) as Hebdomadaire 
FROM Plaintes 
JOIN PVehicule ON Plaintes.IDEvenements = PVehicule.IDEvenements 
JOIN EvVehicule ON PVehicule.IDVehicule = EvVehicule.IDVehicule 
JOIN Classe_Vh ON EvVehicule.IDClasse = Classe_Vh.IDClasse 
JOIN Type_Voy ON Classe_Vh.IDTYPE_VOYAGE = Type_Voy.IDTYPE_VOYAGE 
WHERE Plaintes.Date >= @Sunday AND Plaintes.Date < DATEADD(Day, 7, @SUNDAY) 
GROUP BY Description 
+0

Alleluia 정말 감사합니다 – phadaphunk

+0

나는 당신을 위해 빠른 질문을했습니다. 게시물에 추가하겠습니다. – phadaphunk

+0

다른 문제가있어서 다른 질문을 게시 할 가치가 없기 때문에 첫 번째 질문을 편집했습니다. 2 초 가량 있는지 확인하십시오. – phadaphunk

2
Select description as Véhicule 
    , Count(DISTINCT Plaintes.IDEvenements) as Hebdomadaire 
FROM Plaintes join PVehicule on Plaintes.IDEvenements = PVehicule.IDEvenements 
join EvVehicule on PVehicule.IDVehicule = EvVehicule.IDVehicule 
join Classe_Vh on EvVehicule.IDClasse = Classe_Vh.IDClasse 
join Type_Voy on Classe_Vh.IDTYPE_VOYAGE = Type_Voy.IDTYPE_VOYAGE 
Where Plaintes.Date >= @Sunday 
AND Plaintes.Date < DATEADD(Day, 7, @SUNDAY) 
AND Description IN ('Urbain','Scholar','otherthing') 
+0

완벽하게 작동합니다! 고마워요! 또 다른 질문을 게시했지만 가치가 없기 때문에 첫 번째 질문을 편집했습니다. 2 초 가량 있는지 확인하십시오. – phadaphunk