2012-06-22 96 views
0

我有這個醜陋SELECT聲明:集團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

我需要複製此查詢幾次,改變像一個簡單的關鍵字NoliseScholar等等。

我知道如果我只是複製它我會得到不同的請求a是個結果:

enter image description here

我想有一個數組與它的一切,就好像它是一個單一的SELECT不改變我的整個請求。有沒有簡單的方法來實現這一目標?

enter image description here

編輯:

比方說,我想補充另一列將要檢查的另一個日期條件。

HEBDOMADAIRE這意味着每週的英語測試,看看它是否在這一週:

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

我想補充一個anual列這將測試此:

  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

哈利路亞非常感謝 – phadaphunk

+0

我有一個快速的問題給你。我將添加到郵政 – phadaphunk

+0

我編輯我的第一個問題,因爲我遇到了另一個問題,但不值得發佈另一個問題。請檢查你是否有兩秒鐘。 – 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

完美地工作!非常感謝 ! 我編輯我的第一個問題,因爲我遇到了另一個問題,但不值得發佈另一個問題。請檢查你是否有兩秒鐘 – phadaphunk