Just nu i M3-nätverket
Jump to content

Hur läsa in en "distinct" lista utan "distinct"?


Beilal

Recommended Posts

Holá!

 

Jag har en SQL driver som jag är tvungen att använda pga tekniska faktorer.

 

Tyvärr stödjer inte denna driver "select distinct" eller "select... group by"

 

Jag har en datakälla med 4 kolumner:

kund, ordernummer, datum, artikelnummer

 

Jag vill kunna selektera ut alla unika order per kund men eftersom jag inte kan använda mig av normala sql-satser så undrar jag, går det???

 

Vill ha:

select

datum, kund, ordernummer

from

data

where

datum >= 20000101 AND

datum < 20000201

group by datum, kund, ordernummer

 

Men eftersom min driver inte stödjer den funktionen får jag alla träffar och inte urvalet av alla unika ordernummer...

 

Nån som har en bra lösning?

Link to comment
Share on other sites

Tja...

 

Det här är en annan lösning på det, men eftersom den inte stödjer "vanliga" sql-kommandon, så fungerar antagligen inte det här heller. Kanske värt ett försök?

 

--------------------

DECLARE MyCursor CURSOR FOR

SELECT datum, kund, ordernummer

FROM data

WHERE datum >= '2000-01-01' AND

datum < '2000-02-01'

ORDER BY kund

 

DECLARE @Datum DATETIME

DECLARE @Kund CHAR(255)

DECLARE @Kund2 CHAR(255)

DECLARE @Ordernummer INT

CREATE TABLE #Temp (

datum DATETIME,

kund CHAR(255),

ordernummer INT

)

 

OPEN MyCursor

FETCH NEXT FROM MyCursor

INTO @Datum, @Kund, @Ordernummer

 

WHILE @@FETCH_STATUS = 0

BEGIN

IF NOT @Kund = @Kund2

BEGIN

INSERT INTO #Temp (kund)

VALUES (@Kund)

END

 

SELECT @Kund2 = @Kund

 

FETCH NEXT FROM MyCursor

INTO @Datum, @Kund, @Ordernummer

END

 

CLOSE MyCursor

DEALLOCATE MyCursor

 

SET NOCOUNT OFF

 

SELECT * FROM #Temp

--------------------

 

Lycka till!!!

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...