webForumDet fria alternativet

Distinct problem

4 svar · 587 visningar · startad av brw

brwMedlem sedan juli 2000619 inlägg
#1

Hej

jag försöker plocka ut värden som distinct och vad jag förstår så appliceras distinct på hela sqlfrågan dvs på alla värden som hämtas.

Jag har en tabell med beställningar som ser ut som följer.

Id
kundnr
namn
adress
postnummer
ort
land
datum_reg
datum_best

Mitt problem eller rättare sagt vad jag vill är att plocka ut kundnr och adress på mina kunder men enbart 1 rad per kund. Som det är nu så ligger samma kund på flera rader beroende på hur många gånger den har beställt.

Kör jag bara följande:

'SQLgetkunder = "Select Distinct kundnr FROM utskick order by kundnr asc"

Då får jag ju en rad med kundens kundnummer men så fort jag lägger på följande:

'SQLgetkunder = "Select Distinct kundnr, namn, adress, postnummer, ort, land, datum_reg, datum_best FROM utskick order by datum_best DESC"

Då får jag dubletter så det skriker om det. Vissa kanske kommer med 10 gånger och andra bra 2 gånger.

Hur ska jag bära mig åt för att hämta adressen på den senaste beställningen men varje kund ska bara komma med 1 gång?

Tacksam för hjälp.

plekanecMedlem sedan dec. 201028 inlägg
#2

SELECT * FROM (
SELECT kundnr, namn, adress, postnummer, ort, land, MAX(datum_reg) AS datum_reg, MAX(datum_best) AS datum_best
FROM utskick
group by kundnr,namn,adress,postnummer,ort,land) AS drv
ORDER BY datum_best DESC

brwMedlem sedan juli 2000619 inlägg
#3

Tack för ditt svar men jag får något felmeddelande som jag inte vet vad jag ska ändra på se nedan fel:

Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A03FD)
'Case' förväntas.
getcust2.asp, line 19, column 7
SELECT * FROM (SELECT kundnr, namn, adress, postnummer, ort, land, MAX(datum_reg) AS datum_reg, MAX(datum_best) AS datum_best FROM utskick group by kundnr,namn,adress,postnummer,ort,land) AS drv ORDER BY datum_best DESC "
------^
@ndersMedlem sedan juni 200026 914 inlägg
#4

Av felmeddelandet att döma ser det ut som att du skrivit SQL-frågan rakt av i asp-filen. Du måste ju...

SQLgetkunder = "SELECT * FROM......"

, och sedan exekvera.

brwMedlem sedan juli 2000619 inlägg
#5

Ja det är ju så man skäms :)

Nu fungerar det klockrent!

Tackar!

Genererad på 360 ms · cache AV · v20260730165559-full.f96bc7eb