Konu Araçları | Seçenekler: | Gösterim Stili
Tarih
01/06/2010 14:55
Konu Sahibi
ahmetbaskesen
Yorumlar
3
Okunma
2772
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy

ahmetbaskesen

Üye
Kullanici Avatari
Üye
17
4
03/05/2010
0
Belirtilmemiş
Belirtilmemiş
01/06/2010,16:00
select kategori, tanim
from mallar left join göstermek on göstermek.invnr=mallar.invnr
group by kategori, tanim,göstermek.invnr
having count(*) = (select count(*)
from gösterimodalari)


arkadaslar soru BÜTÜN gösterimodalarinda gösterilen mallarin hangi kategoriye ayit oldugunu ve tanimini bulmak(ceviride kusurum olduysa af ola almancadan cevirdim) sorunun cevabi bu dogru ama anlamadigim bütün gösterimodalari derken neden count(*) having de kullaniliyor count(*) yaptigim zaman sadece o alanda bulunan ögelerin sayisini bulmus olmazmiyim????


yardimlariniz icin simdiden tesekkür ederim


ahmetbaskesen, 03-05-2010 tarihinden beri AccessTr.neT üyesidir.
Cevapla

ercansahin

BlackEagle
Kullanici Avatari
Uzman
E.... Ş....
3.739
14/11/2008
Ankara
Ofis 2010 32 Bit
07/09/2017,13:09
Alıntıdır..

Alıntı:HAVING:

HAVING (SAHİP)

Gruplandırarak kümeleme fonksiyonunu uygularken koşulda verilebilir.Bu durumda grup üzerindeki hesaplamalarla ilgili koşul belirtilirken HAVING (SAHİP) sözcüğü kullanılır.

ÖRNEK: En yüksek maaşın 9000000’dan fazla oldugu bölümlerdeki personele ait ortalama maaşları listele.

SELECT böl_no,AVG (brüt)
FROM personel
GROUP BY böl_no
HAVING AVG(brüt)> 9000000;

HAVING sözcüğü SELECT konusunda GROUP BY bulunmadığı zaman geçersizdir. HAVING sözcüğünü izleyen ifade içinde SUM , COUNT(*) ,AVG, MAX yada MIN fonksiyonlarından en az biri bulunmalıdır.
HAVING sözcüğü sadece gruplanmış veriler üzerindeki işlemlerde geçerlidir.
WHERE sözcüğü bir tablonun tek tek satırları üzerinde işlem yapan koşullar içinde geçerlidir.
Bazı durumlarda HAVING ve WHERE sözcükleri ile birlikte SELECT komutu içinde kullanılabilir.

ÖRNEK: Personel tablosu içinde her bölümde erkek personele ait maaşlar için ortalamanin 9000000’dan fazla oldugu bölümleri listele.

SELECT böl_no, AVG (brüt)
FROM personel
WHERE cins= .T.
GROUP BY böl_no
HAVING AVG (brüt) > 9000000;


Cevapla

Seruz

Uzman
Kullanici Avatari
Uzman
S.... U....
1.550
7
30/10/2008
814
Tekirdağ
Ofis XP
17/10/2017,17:32
Alıntı:Soru: Bütün gösterimodalari 'nda gösterilen mallarin hangi kategoriye ait oldugunu ve tanimini bulmak


Kod:
select kategori, tanim
from mallar left join göstermek on göstermek.invnr=mallar.invnr
group by kategori, tanim, göstermek.invnr
having count(*) = (select count(*) from gösterimodalari)


mallar ve göstermek tablosu ilişkilendirilmiş,
(göstermek ve gösterimodalari adlı tablolar arasındaki ilişkiyi göremiyoruz ama sanırım ikisi aynı tablo, aynı veriler)

having count(*) ile sadece ilgili grup'taki (group by kategori, tanim, göstermek.invnr) kayıt sayısı bulunuyor
ve gösterimodalari tablosundaki kayıt sayısı (select count(*) from gösterimodalari) ile karşılaştırılıyor.

having count(*) , o malın tüm göstermek tablosundaki kayıtlarını gösteriyor.
örneğin; gösterimodalari tablosunda 5 adet kayıt olduğunu kabul edersek,
having count(*) = 5 olan kayıtlar tüm göstermek adlı tablodaki kayıtlarda var demektir.

Umarım anlatabilmişimdir.


Bildiğini bilenin arkasından git, bildiğini bilmeyeni uyar, bilmediğini bilene öğret, bilmediğini bilmeyenden kaç.
Konfüçyüs
Cevapla

demirduygu

Üye
Kullanici Avatari
Üye
3
0
18/05/2012
0
Adıyaman
Ofis 2007
31/05/2012,12:10
ben de size örnek vereyim
HAVİNG: Gruplandırılmış verilerin var olan koşula sahip olup olmadı kontrolu yapılır. Bu ifade genellikle sum(), avg, min(), max() , vs. gibi ifadeler ile kullanılır.
Örnek1: Mal sağlayan firmanın 100 den büyük olanları getir.
SELECT SUM(Quantity)SupplierID FROM [Order Details] GROUP BY ProductID
HAVING SUM(Quantity)>100

Örnek2: 30.01.1990 yılından sonra işe başlıyanların ortalama ücreti hesaplanmak istenirse;
Select AVG (aylik_ücret) From ucretler Where baslama_tarih>'30.01.1990';
Örnek3:Hurma siparişini 700 den çok verenleri getir.
SELECT SUM(Quantity)Orderdate FROM [Order Details] GROUP BY ProductID
HAVING SUM(Quantity)>700
kolayy gelsin hepinize
Img-grinImg-grin


Cevapla


Konuyu Okuyanlar: 1 Ziyaretçi

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
  SQL Server 2008 R2 Evaluation hakkında soru? assenucler 5 2.091 17/05/2012, 10:40 assenucler
  access vs sql soru bankasi ahmetbaskesen 3 2.906 26/05/2010, 13:05 Taruz
  sql tablosu(basit bit soru grrr) ahmetbaskesen 14 5.242 04/05/2010, 14:11 ahmetbaskesen
  access ten sql e bağlanırken çıkan soru linux2ex 6 3.676 16/02/2010, 23:01 linux2ex

Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2017 MyBB Group.
Forum use Krzysztof "Supryk" Supryczynski addons.