![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Master
![]() |
![]() Hallo zusammen!
Folgendes Problem: Ich hab hier eine Tabelle die in etwa so aussieht. KNr. |Vorname |Nachname |Plz |Key 0001 |Franz |Huber |1020 |FraHub1020 4711 |Franz |Huber |1020 |FraHub1020 Das Problem daran ist, dass ich jeden Key nur (mit allen anderen Feldern) nur einmal exportieren möchte, dies aber über einen Distinct nicht möglich ist, da ja nicht alle Felder gleich sind. Welcher davon gezogen wird, ist mir eigentlich egal, es sollte halt nur einer sein. Weiss jemand Rat? LG Joerg |
![]() |
![]() |
![]() |
#2 |
Master
![]() Registriert seit: 13.08.2003
Beiträge: 624
|
![]() Du kannst das ganze ja so auslesen:
SELECT min(KNr.), Vorname, Nachname, Plz, Key FROM Tabelle GROUP BY Vorname,Nachname,Plz,Key Je nach SQL Dialekt speicherst du das in eine andere Tabelle und exportierst diese dann, denk ich mal? mfg Thomas |
![]() |
![]() |
![]() |
#3 |
Master
![]() |
![]() Hi T.dot!
In die Richtung hab ich schon gebastelt ... Leider ist es so, dass sich auch die Schreibweise des zB Strassennamens unterscheiden kann. Das ist die Tragödie dran. Ich möchte am liebsten zu einem Key nur einen Satz (egal welchen) haben. LG Joerg |
![]() |
![]() |
![]() |
#4 |
Master
![]() Registriert seit: 13.08.2003
Beiträge: 624
|
![]() Ok, dann hab ich das vorher überlesen, sorry.
Wenn du MS-SQL oder nen Dialekt, der Unterabfragen unterstützt verwendest (mysql kann das erst ab einer neueren Version), müsste folgendes funktionieren: SELECT * FROM Tabelle WHERE KNr IN (SELECT min(KNr) from Tabelle GROUP BY Key) hab ich aber nicht getestet, aber denke so würds gehören.... mfg Thomas |
![]() |
![]() |
![]() |
#5 |
Master
![]() |
![]() Hallo!
Ich habe MS-SQL und es sieht gut aus!!!!! Vielen herzlichen Dank!!!!!!! LG Joerg |
![]() |
![]() |
![]() |
#6 |
Inventar
![]() Registriert seit: 26.09.1999
Beiträge: 2.569
|
![]() Vielleicht verstehe ich was nicht, aber das ist ein klassisches Beispiel für "GROUP BY".
Code:
SELECT * FROM Tabelle GROUP BY Key snowman
____________________________________
MediaMarkt? Ich bin doch nicht blöd, Mann! Vorsprung durch Technik Lesen Sie keine Anleitungen, FAQs, Readme - Files. Reine Zeitverschwendung. In den Newsgroups und Foren gibt es genug kompetente Leute, die mit großer Geduld immer wieder dieselben einfachen Fragen beantworten. Völlig kostenlos noch dazu! |
![]() |
![]() |
![]() |
#7 |
Master
![]() Registriert seit: 13.08.2003
Beiträge: 624
|
![]() In MS-SQL geht das nicht (ka obs ein anderer dialekt kann), da bekommst du dann als Fehlermeldung:
Die Tabelle.KNr-Spalte ist in der Auswahlliste ungültig, da sie nicht in einer Aggregatfunktion und nicht in der GROUP BY-Klausel enthalten ist. Und das für alle Spalten, die nicht in GROUP BY stehen. mfg Thomas |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|