2016-03-20 12 views
2

Ich schreibe eine Abfrage, aber habe ein Problem festgestellt.Where-Klausel für undefinierte Spalten

select name, address, count(BL.card_no) 
from Book_Loans BL 
inner join Borrower B on BL.card_no = B.card_no 
where count(BL.card_no) > 1 group by name; 

Das funktioniert nicht, weil ich nicht verwenden kann, „wo count (BL.card_no)> 1“, weil sie sagt: „Ungültige Verwendung von Gruppenfunktion.“ Aber ich muss sicherstellen, dass nur Zahlen von Kartennummern größer als 1 angezeigt werden. Wie kann ich das sonst tun?

Antwort

2

Sie haben das Prädikat in der HAVING Klausel zu setzen:

select name, address, count(BL.card_no) 
from Book_Loans BL 
inner join Borrower B on BL.card_no = B.card_no 
group by name 
having count(BL.card_no) > 1; 
+0

Arbeitete, danke statt mit! – TheBandit

2

zur Verwendung Aggregatfunktion, wo

select name, address, count(BL.card_no) 
from Book_Loans BL 
inner join Borrower B on BL.card_no = B.card_no 
group by name 
having count(BL.card_no) > 1; 
+0

Arbeitete, danke! – TheBandit

Verwandte Themen