Halloj. Som rubriken säger. Min hjärna har helt havererat, så om ni kan, sänd en hjälpande hand med följande. Efter lite modifierande och annat så kom jag fram till följande Även om det inte finns en enda rad med aviserad='No' för den batchen, menar du? Precis så menar jag. Då ska det bara bli Du menar NULL-resultat? (inget värde satt/NULL i fältet?) Jag sitter med en Access nu, blir förhoppningsvis ändring på det snart. Jag funderar på om man kan köra nåt i stil med: äsch bara att glömma det föregående.. Kom på att det inte riktigt vill funka så. För att uttrycka mig på ren svenska. Det här kanske kan vara en grund att bygga på?Totalhaveri
Jag har en tabell som heter tblO
däri finns följande kolumner
Batch, SN, Onamn, Oadress, oOwner, oTalt
Vad jag skulle behöva är att den ska gå igenom alla Batchar där oOwner är t ex Nisse och visa inom varje batch hur många rader där oTalt är "Japp". Sen när den visat alla Nisses batchar så ska den gå vidare och visa Urbans batchar en efter en och visa hur många rader i Urbans batch x som är oTalt = "Japp" o s v.
Jag hoppas ni förstår hur jag menar.
Önskat resultat är som så här:
Ägare | Batch | Antal
Nisse | 14 | 15
Nisse | 15 | 78
Urban | 43 | 1
Urban | 44 | 14
Går detta att göra utan att öppna två databaskopplingar och köra en loop genom alla batch och oOwner i en och sen loopa igenom alla inom den första loopen med en SELECT COUNT i den andra kopplingen???Sv: Totalhaveri
SELECT COUNT(*) AS Antal
FROM tblO
WHERE oTalt = 'Japp'
GROUP BY oOwner, Batch
Sv:Totalhaveri
<code>
SQLs = "SELECT Batch,BatchOwner,ShipName,Picked, COUNT(Orderno) AS strAVI FROM Orders WHERE Aviserad = 'No' AND BatchOwner = 'Ulf' GROUP BY Batch,BatchOwner,ShipName,Picked ORDER BY ShipName ASC"
</code>
Works fine.. MEN den utelämnar alla nollresultat vilket är dumt. För jag vill även att dom ska synas. Finns det något sätt? Den ska fortfarande bara räkna alla där Aviserad='No', men om det blir 0 så vill jag ändå att raden ska synas fast med en nolla.. Någon?Sv: Totalhaveri
Sv:Totalhaveri
Batch Avi
15 0
Så den åtminstone synliggörs.Sv: Totalhaveri
Det kommer inte att räknas. (och ibland kan det ju vara så att det är precis vad man vill).
Vad du kan göra är att innan COUNT konvertera NULL till 0 (siffran noll alltså) eller en tom sträng alltså '' beroende på datatypen. Hur du gör detta är olika för Access/SQL server. Kolla i hjälpen eller fråga igen (skriv då vilken databas du jobbar mot)
OlaSv:Totalhaveri
SQLs = "SELECT Batch,BatchOwner,ShipName,Picked, strAVI = (SELECT COUNT(*) FROM Orders WHERE Aviserad = 'No') FROM Orders WHERE BatchOwner = 'Ulf' GROUP BY Batch,BatchOwner,ShipName,Picked ORDER BY ShipName ASC"
Borde inte det räkna och resultera i 0 eftersom den inte hittar några rader med just det kriteriet?
Det blir dock nåt snett där (No value given for one or more required parameters.)Sv: Totalhaveri
Sv:Totalhaveri
Det jag EGENTLIGEN vill är att köra den först prytteln (den med GROUP BY) för att klämma fram Batch och BatchOwner och SEN inom det resultatet RÄKNA hur många som är Aviserad='No' för att sen komma tillbaks och ge mig ett resultat. Sen om det blir 0 eller 14059 spelar ingen roll, bara den räknar rätt och visar mig rubbet!Sv: Totalhaveri
SELECT Orders.*, COUNT(Orders.Batch) AS Antal
FROM (SELECT DISTINCT Batch FROM Orders) AS Batches
LEFT JOIN Orders
ON Batches.Batch = Orders.Batch AND Orders.Aviserad = 'No'
GROUP BY Batches.Batch, ...