|
| Group by problematikken Fra : N9 |
Dato : 04-01-06 10:02 |
|
Hej
Jeg har en SQL sæt som jeg henter nogle bestilling:
select kl.kundeid, b.id, o.dato , o.varenr, 1 as antal from ny_ordrelog as n
inner join bestillingslog as b on n.nyordrelog = b.id
inner join kundelogin as kl on kl.kundeID = b.clientuser
inner join orders as o on b.id = o.ordernr
order by b.id
Resultat er følgende
KundeID OrdreNR DATE varenr Antal
213932 50757 2006-01-04 00:00:00.000 102250 1
213932 50757 2006-01-04 00:00:00.000 101910 1
213932 50757 2006-01-04 00:00:00.000 992895 1
213932 50758 2006-01-04 00:00:00.000 992895 1
213932 50758 2006-01-04 00:00:00.000 101910 1
213932 50758 2006-01-04 00:00:00.000 102250 1
213932 50758 2006-01-04 00:00:00.000 102250 1
213932 50758 2006-01-04 00:00:00.000 100721 1
Mit ønske er at jeg gerne ville have en udtrækning som se følgende ud
KundeID OrdreNR DATE varenr Antal
213932 50757 2006-01-04 00:00:00.000 102250 1
213932 50757 2006-01-04 00:00:00.000 101910 1
213932 50757 2006-01-04 00:00:00.000 992895 1
213932 50758 2006-01-04 00:00:00.000 992895 1
213932 50758 2006-01-04 00:00:00.000 101910 1
213932 50758 2006-01-04 00:00:00.000 102250 2
213932 50758 2006-01-04 00:00:00.000 100721 1
Altså en group by afhængig af varenr og skal kun gøres ved hver ordrenr.
Håber i forstår hvad jeg mener.
Takker
N9
| |
Peter Brodersen (04-01-2006)
| Kommentar Fra : Peter Brodersen |
Dato : 04-01-06 11:44 |
|
On Wed, 4 Jan 2006 10:01:56 +0100, "N9" <nomail@invalid.invalid>
wrote:
>Altså en group by afhængig af varenr og skal kun gøres ved hver ordrenr.
GROUP BY ordrenr, varenr
burde gøre det.
Så kan du altid select'e en COUNT(*) ud for antal.
--
- Peter Brodersen
Find dig selv: http://map.ter.dk/
| |
Kristian Damm Jensen (05-01-2006)
| Kommentar Fra : Kristian Damm Jensen |
Dato : 05-01-06 07:49 |
|
Peter Brodersen wrote:
> On Wed, 4 Jan 2006 10:01:56 +0100, "N9" <nomail@invalid.invalid>
> wrote:
>
>> Altså en group by afhængig af varenr og skal kun gøres ved hver
>> ordrenr.
>
> GROUP BY ordrenr, varenr
> burde gøre det.
>
> Så kan du altid select'e en COUNT(*) ud for antal.
Afhængig af dit databasesystem kan du dog blive nødt til i din group by at
angive samtlige felter fra din select, der ikke indgår i selve optællingen.
--
Kristian Damm Jensen
| |
|
|