/ Forside/ Teknologi / Udvikling / SQL / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
stored procedure
Fra : MKC
Vist : 767 gange
100 point
Dato : 18-02-03 13:56

Hej
Jeg har problemer med en stored procedure der ser således ud:
-----
CREATE PROCEDURE GetCprTotalPrice
AS
SELECT Cprnr ,sum(totalpris)
FROM Kunder, ordrer
where cprnr = kundeid
group by cprnr
GO
-----
Problemet er at jeg skal have listet alle Cprnr fra tabellen kunder samtidigt med at jeg skal have deres totalpris fra tabellen ordrer, men det virker ikke

Håber der er nogle der kan hjælpe

//Mikkel

 
 
Kommentar
Fra : pmbruun


Dato : 18-02-03 14:10

Du skriver ikke lige hvilket SQL produkt du bruger, men det ligner MS SQL Server eller Sybase. Det kunne måske også hjælpe, hvis du skrev lidt om, hvordan det ikke virker - kommer der en fejlmeddelelse, hvad siger den, o.s.v.

I øvrigt ser det ud som om du med fordel kunne bruge et view i stedet for en stored procedure.

Peter

P.S. Du skriver heller ikke, hvad du skal bruge databasen til, men det er ikke lovligt at bede om eller gemme kunders CPRNR, med mindre du har en særlig indberetningspligt til myndighederne (bank, forsikring, o.s.v.).


Kommentar
Fra : MKC


Dato : 18-02-03 14:26

Det er MS sql, der kommer ingen fejlmeddelse, med det blever kun retuneret de værdier der har en totalpris alså fra ordretabelln og ikke alle cprnr fra kundetabellen.

Det behøver ikke være cprnr det er bare en unik nøgle.

tak

Accepteret svar
Fra : pmbruun

Modtaget 110 point
Dato : 18-02-03 14:51

Aha. Problemet har ikke noget med stored procedures at gøre, vel? Hvis du skriver:

SELECT Cprnr ,sum(totalpris)
FROM Kunder, ordrer
where cprnr = kundeid
group by cprnr
GO

får du samme svar, ikke også?

Løsningen hedder "outer join". Se: http://www.pbdr.com/vbtips/db/sql1.htm

Med venlig hilsen

Peter M. Bruun


Godkendelse af svar
Fra : MKC


Dato : 18-02-03 15:29

Tak for hjælpen, en outer join var svaret



Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste