having sql soru?
Tarih
01/06/2010 14:55
Konu Sahibi
ahmetbaskesen
Yorumlar
3
Okunma
2527
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
Sponsor Reklam
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
22/12/2016,18:59
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.545
7
30/10/2008
804
Tekirdağ
Ofis XP
17/02/2017,16:13
Sponsor Reklam
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 1.758 17/05/2012, 10:40 assenucler
  access vs sql soru bankasi ahmetbaskesen 3 2.670 26/05/2010, 13:05 Taruz
  sql tablosu(basit bit soru grrr) ahmetbaskesen 14 4.478 04/05/2010, 14:11 ahmetbaskesen
  access ten sql e bağlanırken çıkan soru linux2ex 6 3.240 16/02/2010, 23:01 linux2ex


Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2017 MyBB Group.
DMCA.com Protection Status
© Desing by XSTYLED| Develops by ozanakkaya