0
Aşağıdaki bilgileri almayı deniyorum: Ortalama sipariş miktarı 1,800 ABD Doları'ndan büyük olan her müşteri için müşteri adını, cust # ve toplam sipariş sayısını listeleyin.SQL Geri alma sorusu
kodum şu anda.
SELECT c.cname, c.`cust#`, COUNT(oi.`order#`)
FROM CUSTOMER c, `ORDER` o, `ORDER_ITEM` oi
WHERE c.`cust#` = o.`cust#`
AND o.`order#` = oi.`order#`
AND AVG(o.`ord_amt`) > 1800
GROUP BY c.cname, c .`cust#`
TABLOLAR VE ALANLAR MY VERİTABANINA Sen gösterimini JOIN kullanmalısınız
customer(cust#:char(3), cname:varchar(30), city:varchar(20)) order (order# :char(4), odate, cust#:char(3), ord_amt:decimal(10.2)) order_item(order# :char(4), item#: char(4), qty:int(11)) item(item# :char(4), unit_price:decimal(10.2)) shipment(order# :char(4), warehouse# :char(4), ship_date:date) warehouse (warehouse#: char(4), city:varchar(20))
Sana ihtiyacım var GROUP BY'i HAVING'in üzerine koymak. – GolezTrol
En az iki depodan sevk edilen siparişler için toplam depo sayısının bilgisini almak üzereydim. İç içe geçmiş bir maddeye ihtiyacım olmaz mı? – Meat
@Meat: Bu, başka bir GROUP BY ve HAVING yan tümcesi sorgusu gibi, doğrudan birleştirme ile iki tabloya benziyor - varolan sorgu ile neredeyse izomorfik. –