Aracılığıyla paylaş


Nasıl Yapılır: HAVING ve WHERE yan tümceleri aynı, (Visual veritabanı araçları) sorgusu kullanın.

Bazı durumlarda, gruplara (bir HAVING yan tümce kullanarak) bir bütün olarak koşul uygulamadan önce tek tek satırlara grupları (WHERE yan tümce kullanarak) dışarıda bırakmak isteyebilirsiniz.

HAVING yan tümce gibi bir WHERE yan tümce ise, ancak yalnızca gruplara bütün olarak uygulanır (diğer bir deyişle, sonuç satırlara küme grupları temsil eden) ise, WHERE yan tümce, tek tek satırlara uygulanır.Sorguda, WHERE yan tümce hem de HAVING yan tümce içerebilir.Bu durumda:

  • WHERE yan tümce tablodaki tek tek satırları veya Diyagram bölmesinde tablo değerli nesneleri önce uygulanır.NEREDE koşulları karşılayan satırları yan tümce gruplandırılmıştır.

  • HAVING yan tümcesinden sonra sonuç satırlara uygulanır küme.HAVING karşılayan gruplar koşullar sorgu çıkışında görünür.HAVING yan tümce, yalnızca GROUP BY yan tümce ya da de görünen sütunlara uygulayabilirsiniz bir toplamak işlevi.

Örneğin, katıldığınız düşünün titles ve publishers için ortalama rehberi gösteren bir sorgu oluşturmak için tabloları fiyat bir küme yayımcılar. Yalnızca belirli bir yayımcı ortalama fiyatını görmek istediğiniz — yalnızca belki de, bu durum California'da yayımcılar.Ve sonra bile, yalnızca 10,00 $ üzerinde ise, ortalama fiyat görmek istiyorsunuz.

Ilk koşulu, ortalama fiyatları hesaplamadan önce California'da olmayan herhangi bir yayımcı atar bir WHERE yan tümce ekleyerek oluşturabilirsiniz.Gruplandırma ve veriyi özetleyerek sonuçlarına koşula için ikinci bir koşul bir HAVING yan tümce gerektirir.Sonuçta elde edilen SQL deyim şuna benzeyebilir:

SELECT titles.pub_id, AVG(titles.price)
FROM titles INNER JOIN publishers
   ON titles.pub_id = publishers.pub_id
WHERE publishers.state = 'CA'
GROUP BY titles.pub_id
HAVING AVG(price) > 10

Oluşturabileceğiniz iki HAVING ve WHERE yan tümceleri ölçüt bölmesindeki.Bir sütun için bir arama koşulu belirtirseniz, varsayılan olarak, koşul HAVING bir parçası olacak yan tümce.Bununla birlikte, koşulu bir WHERE yan tümce olarak değiştirebilirsiniz.

Bir WHERE yan tümce ve aynı sütun içeren bir HAVING yan tümce oluşturabilirsiniz.sütun iki kez Ölçüt bölmesine eklemek için bunu yapmak için , sonra HAVING yan tümce ve WHERE yan tümcesinin parçası olarak başka bir örnek bir parçası olarak bir örneğini belirtin.

Bir toplamak sorgusunun bir WHERE koşulunu belirtmek için

  1. Sorgunuz için grupları belirtir.Ayrıntılar için bkz: Nasıl Yapılır: Sorgu sonuçlar (Visual veritabanı araçları) grubu satırları.

  2. Ölçüt bölmesinde yoksa, WHERE koşulunu temel almasını istediğiniz sütun ekleyin.

  3. Açık Çıktı sütun veri sütunu GROUP BY parçası olmadığı sürece yan tümce veya bir toplamak işlevinde yer.

  4. Içinde Filtre sütununda, WHERE koşulunu belirtin.Sorgu ve Görünüm Tasarımcısı ekler koşulu SQL, HAVING yan tümcesi deyim.

    Not

    Bu yordam için örnekte gösterilen sorguyu iki tablo birleştirir. titles ve publishers.

    Bu noktada sorguda SQL deyim bir HAVING yan tümce içerir:

    SELECT titles.pub_id, AVG(titles.price)
    FROM titles INNER JOIN publishers 
       ON titles.pub_id = publishers.pub_id
    GROUP BY titles.pub_id
    HAVING publishers.state = 'CA'
    
  5. Içinde Göre gruplandır Seçim sütunburada Grup ve Özet seçenekleri listesinden.Sorgu ve Görünüm Tasarımcısı, koşulu SQL deyimindeki HAVING yan tümcesinden kaldırır ve WHERE yan tümcesine ekler.

    Bunun yerine, WHERE yan tümce eklemek için SQL deyim değişiklikler:

    SELECT titles.pub_id, AVG(titles.price)
    FROM titles INNER JOIN publishers 
       ON titles.pub_id = publishers.pub_id
    WHERE publishers.state = 'CA'
    GROUP BY titles.pub_id