/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
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
SQL/DISTINCT spørgsmål:
Fra : Claus Hemdrup


Dato : 26-08-02 09:00

Hej.

Jeg sidder her og prøver at lære lidt om SQL, men har brug for lidt hjælp:

F.eks.:

SELECT DISTINCT serienummer FROM maskindatabase :
----------------------
SN:
111
222
333
444
....
---------------------

Giver naturligvis serienummeret, det er ingen overraskelse...

-Men jeg vil have serienummeret 'Distinct', sammen de tilhørende records

----------------------
SN: FABRIKAT MODEL
111 IBM PS1
222 COMPAQ 386
333 NONAME 486
444 CANON BJ92
....
---------------------

Noget forslag?


Venligst

Claus



 
 
Peter Lykkegaard (26-08-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 26-08-02 09:35

Som svar på skriblerier nedfældet af Claus Hemdrup :


> SELECT DISTINCT serienummer FROM maskindatabase :

> Giver naturligvis serienummeret, det er ingen overraskelse...
> -Men jeg vil have serienummeret 'Distinct', sammen de tilhørende
> records
>
> SN: FABRIKAT MODEL

SELECT DISTINCT serienummer, fabrikat, model FROM maskindatabase

mvh/Peter Lykkegaard






Claus Hemdrup (26-08-2002)
Kommentar
Fra : Claus Hemdrup


Dato : 26-08-02 11:01

Ok, det virker så bare ikke under Delphi...

"Peter Lykkegaard" <polonline@hot.mail.com> wrote in message
news:aIla9.23$nT1.672@news.get2net.dk...
> Som svar på skriblerier nedfældet af Claus Hemdrup :
>
>
> > SELECT DISTINCT serienummer FROM maskindatabase :
>
> > Giver naturligvis serienummeret, det er ingen overraskelse...
> > -Men jeg vil have serienummeret 'Distinct', sammen de tilhørende
> > records
> >
> > SN: FABRIKAT MODEL
>
> SELECT DISTINCT serienummer, fabrikat, model FROM maskindatabase
>
> mvh/Peter Lykkegaard
>
>
>
>
>



Olav M.J. Christians~ (26-08-2002)
Kommentar
Fra : Olav M.J. Christians~


Dato : 26-08-02 11:34

"Claus Hemdrup" <cth@kyborg.dk> skrev i en meddelelse
news:3d69fc74$0$27661$edfadb0f@dspool01.news.tele.dk...
> Ok, det virker så bare ikke under Delphi...

Hvilken database bruger du?

M.v.h.
Olav

PS: Hvis du svarer nedenunder det du citerer er det nemmere at læse...




Claus Hemdrup (26-08-2002)
Kommentar
Fra : Claus Hemdrup


Dato : 26-08-02 11:58

Databasen er lavet i MS Access, jeg connect'er med BDE/ODBC, og bruger
Delphi 6.0...


"Olav M.J. Christiansen" <omjc@ingenspamhertake-kontor.dk> wrote in message
news:3d6a0599$0$164$edfadb0f@dspool01.news.tele.dk...
> "Claus Hemdrup" <cth@kyborg.dk> skrev i en meddelelse
> news:3d69fc74$0$27661$edfadb0f@dspool01.news.tele.dk...
> > Ok, det virker så bare ikke under Delphi...
>
> Hvilken database bruger du?
>
> M.v.h.
> Olav
>
> PS: Hvis du svarer nedenunder det du citerer er det nemmere at læse...
>
>
>



Peter Lykkegaard (26-08-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 26-08-02 12:11

Som svar på skriblerier nedfældet af Claus Hemdrup :

> Databasen er lavet i MS Access, jeg connect'er med BDE/ODBC, og bruger
> Delphi 6.0...
>
BDE = Borland Database Engine?
Den har da ikke så meget med Access at gøre

Hvad fejl får du egentlig?

mvh/Peter Lykkegaard



Nis Jørgensen (26-08-2002)
Kommentar
Fra : Nis Jørgensen


Dato : 26-08-02 12:32

On Mon, 26 Aug 2002 13:11:18 +0200, "Peter Lykkegaard"
<polonline@hot.mail.com> wrote:

>Som svar på skriblerier nedfældet af Claus Hemdrup :
>
>> Databasen er lavet i MS Access, jeg connect'er med BDE/ODBC, og bruger
>> Delphi 6.0...
>>
>BDE = Borland Database Engine?
>Den har da ikke så meget med Access at gøre

Den kan forbindes med Access - fx via ODBC.

--
Nis Jørgensen
Amsterdam

Please include only relevant quotes, and reply below the quoted text. Thanks

Peter Lykkegaard (26-08-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 26-08-02 13:14

Som svar på skriblerier nedfældet af Nis Jørgensen :

> On Mon, 26 Aug 2002 13:11:18 +0200, "Peter Lykkegaard"
> <polonline@hot.mail.com> wrote:
>
>> BDE = Borland Database Engine?
>> Den har da ikke så meget med Access at gøre
>
> Den kan forbindes med Access - fx via ODBC.
>
Min erfaring med Delphi er rimeligt begrænset
Kan man sige at BDE svarer til ADO - tilnærmelsesvis?

Lidt OT I know

mvh/Peter Lykkegaard



Nis Jørgensen (26-08-2002)
Kommentar
Fra : Nis Jørgensen


Dato : 26-08-02 14:22

On Mon, 26 Aug 2002 14:14:03 +0200, "Peter Lykkegaard"
<polonline@hot.mail.com> wrote:

>
>>> BDE = Borland Database Engine?
>>> Den har da ikke så meget med Access at gøre
>>
>> Den kan forbindes med Access - fx via ODBC.
>>
>Min erfaring med Delphi er rimeligt begrænset
>Kan man sige at BDE svarer til ADO - tilnærmelsesvis?

Ja. Jeg ved ikke hvor god tilnærmelsesen er.

--
Nis Jørgensen
Amsterdam

Please include only relevant quotes, and reply below the quoted text. Thanks

Olav M.J. Christians~ (26-08-2002)
Kommentar
Fra : Olav M.J. Christians~


Dato : 26-08-02 23:18

"Claus Hemdrup" <cth@kyborg.dk> skrev i en meddelelse
news:3d6a09c7$0$64850$edfadb0f@dspool01.news.tele.dk...
> Databasen er lavet i MS Access, jeg connect'er med BDE/ODBC, og bruger
> Delphi 6.0...

Har du overvejet at stille spørgsmålet i en af følgende grupper:

dk.edb.database.ms-access (hvor MS Acces hører hjemme)
dk.edb.programmering.pascal (hvor Delphi-folket boltrer sig)

eller f.eks:

comp.lang.pascal.delphi.databases (engelsksproget - men der snakkes både
Delphi og databaser)

Der er iøvrigt også en del interessante grupper under borland.public.delphi
du bør overveje.

En lille forklaring: BDE (Borlands Database Engine - eller Borlands Database
Error som nogen vil sige) er en slags pendant til ODBC eller nærmere ADO.
Den bruges ikke så meget mere, specielt i nyere versioner af Delphi, men med
ældre versioner af Delphi er det ofte nemmere at bruge BDE, da man ellers
skal køre direkte mod hver enkelt database (med særskilte drivere til hver).
BDE er altså i dette tilfælde forbindelsen mellem Delphi og ODBC.

BDE burde ikke ødelægge din SQL, så hvad der kan lade sig gøre i ODBC,
skulle også kunne lade sig gøre med BDE og Delphi.

Derfor forstår jeg ikke hvorfor det ikke virker. Kan du ikke poste din
nøjagtige kode (copy/paste please) og _nøjagtigt_ hvad du får ud af det?

M.v.h.
Olav




Nis Jørgensen (26-08-2002)
Kommentar
Fra : Nis Jørgensen


Dato : 26-08-02 12:29

On Mon, 26 Aug 2002 12:01:28 +0200, "Claus Hemdrup" <cth@kyborg.dk>
wrote:

>Ok, det virker så bare ikke under Delphi...

Hvad får du da af resultat? Måske er problemet at Peter ikke forstod
hvad du ville have ...

Du skriver andetsteds

>Databasen er lavet i MS Access, jeg connect'er med BDE/ODBC, og bruger
>Delphi 6.0...

Den SQL Peter gav dig skulle virke fint med ovenstående - så det er
nok et forståelsesproblem. Du skrev:

> Men jeg vil have serienummeret 'Distinct', sammen de tilhørende records

Det er ikke klart for mig hvad du mener. Hvis du kun vil have hvert
serienummer ud een gang, hvad skal der så ske når det optræder flere
gange, med forskellige værdier for fabrikat/model?

Prøv at poste nogle eksemplariske data fra tabellen, og hvilket
resultat du gerne vil have ud.

--
Nis Jørgensen
Amsterdam

Please include only relevant quotes, and reply below the quoted text. Thanks

Claus Hemdrup (26-08-2002)
Kommentar
Fra : Claus Hemdrup


Dato : 26-08-02 13:54

> > Men jeg vil have serienummeret 'Distinct', sammen de tilhørende records
>
> Det er ikke klart for mig hvad du mener. Hvis du kun vil have hvert
> serienummer ud een gang, hvad skal der så ske når det optræder flere
> gange, med forskellige værdier for fabrikat/model?
>

Serienummeret er unikt, så det optræder ikke med forskelligt fabrikat.

nu er problemstillingen teoretisk, så jeg kan ikke vise dig nogle konkrete
data...
men prøv at forestil dig en reparatør af f.eks. kaffemaskiner eller
kopimaskiner.
Når en kunde fejlmelder sin maskine, til reparatøren, vil jeg i
'indtastnings-applikationen' vise en liste med alle kundens kendte maskiner,
dvs. de maskiner reparatøren har haft inde før. Det er selvfølgelig også let
nok, men hvis kunden er en meget stor kunde med 50 maskiner, som jævnligt
bliver serviceret, optræder maskinerne flere gange! En distinct-visning (på
serienummeret) burde her være løsningen, men her vil jeg så også gerne vise
fabrikat og model.

Venligst

Claus






Jens Gyldenkærne Cla~ (26-08-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 26-08-02 14:13

Claus Hemdrup skrev:

>> > Men jeg vil have serienummeret 'Distinct', sammen de
>> > tilhørende records

[klip]

> Serienummeret er unikt, så det optræder ikke med forskelligt
> fabrikat.

> nu er problemstillingen teoretisk, så jeg kan ikke vise dig
> nogle konkrete data...


Så vidt jeg kan se har du allerede løsningen!

SELECT DISTINCT <distinctfelt>, <restfeltliste> FROM <tabel>
henter én post ud for hvert distinctfelt, sammen med de tilhørende
felter.

Prøv at afprøve det i praksis.

--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)
I ovenstående tekst benyttes nyt komma
(rettelser modtages gerne i dk.kultur.sprog)

Jens Gyldenkærne Cla~ (26-08-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 26-08-02 20:07

Jens Gyldenkærne Clausen skrev:

> SELECT DISTINCT <distinctfelt>, <restfeltliste> FROM <tabel>
> henter én post ud for hvert distinctfelt, sammen med de
> tilhørende felter.

Claus Hemdrup skrev herefter i en mail:

| Hvis det bare var så let, men 'optput' -listen er ikke
| distinct... (i delphi)

Kan du ikke poste din select-statement som du har den (med uønskede
dubletter). Henter du data fra flere tabeller? I dit oprindelige
indlæg beskrev du tre felter - SN, FABRIKAT og MODEL. Du skrev
senere at SN entydigt bestemmer FABRIKAT. Gælder det samme i
forhold til MODEL? Skal du have flere felter med i forespørgslen?

PS: Jeg har ikke noget imod at modtage mails afledt af debatter i
nyhedsgrupper, men der er ingen grund til at flytte debatten herfra
så længe der diskuteres emner der er relevante for gruppen. Med
andre ord - send hellere dine svar til gruppen end til mig.
--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)
I ovenstående tekst benyttes nyt komma.

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste