2016-04-03 31 views
-1

Potansiyel alıcılar tarafından görüntülenmeyen en fazla mülke sahip bir mülk sahibi seçmem gerekiyor.maksimum boş değer seçin

'propertyno IS NULL' sayısının en yüksek olduğu 'propertyforrent.ownerno' öğesini seçmenin en iyi yolu nedir?

BU:

SELECT PropertyForRent.ownerno 
FROM PropertyForRent propertyforrent, Client client, Viewing viewing 
WHERE client.preftype=propertyforrent.type 
AND client.clientno=viewing.clientno 
AND viewing.propertyno IS NULL 
ORDER BY count(*) 
LIMIT 1 

VEYA BU:

SELECT PropertyForRent.ownerno 
FROM PropertyForRent propertyforrent, Client client, Viewing viewing 
WHERE client.preftype=propertyforrent.type 
AND client.clientno=viewing.clientno 
AND MAX(COUNT(viewing.propertyno IS NULL) 

TEŞEKKÜRLER !!

+0

Lütfen değil SQL endişe değiliz PropertyforRent.PropertyNo için FK olduğu 'NULL' özel muamele vardır. 'NULL' ** başka bir' NULL' dahil olmak üzere herhangi bir değere eşit değil **. Sorgularınızda 'IS NULL' kullanmanız gerekiyor. –

+0

Anlamı '=' NULL '' yerine '' NULL '' demeliyim doğru mu? – am340

+0

Evet. Anladın. BTW, ayrıca 'NULL DEĞİL' de var. –

cevap

1

Burada LEFT JOIN'leri kullanmaktayız, böylece tüm kiralık mülkler ve yalnızca ilgili Görüntüleme ile döndürülmelidir. (Bağlar olmadığı sürece) ile sahibi olacak 1 sonuca bu sayım desc ve limiti ile ilgili görüş, sipariş olmayan yerlerde

SELECT PFR.ownerno, count(Distinct PFR.PropertyNo) Count_of_Unviewed_Properties 
FROM PropertyForRent PFR 
LEFT JOIN viewing V 
on PFR.PropertyNo = V.PropertyNo 
WHERE V.propertyno IS NULL 
ORDER BY count(Distinct PFR.PropertyNo) Desc 
LIMIT 1 

Sonra Farklı PFR.PropertyNo sayımını olsun Görüntülenmeyen özelliklerin çoğu. yapılan

varsayımlar:

  • burada hiç müşterileri için gerek yok ... Eğer gösterimlerin ve özellikleri ile ilgileniyoruz.
  • PropertyForRent özellik yok
  • PropertyForRent.PropertyNo, bu tabloda PK'dur. ve belirli bir sahip için benzersiz bir özellik tanımlar.
  • Viewing.propertyNo
  • siz "Bağları"
+0

doğru .... izleme üzerinde propertyno var – am340

+0

Bu mantıklı ... aşağıdaki yorum da doğrudur, bu yüzden sorumu cevapladınız sanırım. Çok teşekkürler. Sana "sahne" vermek için bir şey var mı? Cevabınızın yanındaki onay işaretini tıkladım. – am340

+0

Görüntülemeing.propertno ve görüntüleme.clientno'nun ikisi de PK PFR olarak etiketlenmiştir.propertyno ayrıca PK – am340

İlgili konular