WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 26.07.2005, 11:13   #1
JoergStueger
Master
 
Registriert seit: 28.10.2002
Alter: 47
Beiträge: 626


JoergStueger eine Nachricht über ICQ schicken
Standard SQL Problem

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
JoergStueger ist offline   Mit Zitat antworten
Alt 26.07.2005, 11:53   #2
T.dot
Master
 
Registriert seit: 13.08.2003
Beiträge: 624


Standard

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
T.dot ist offline   Mit Zitat antworten
Alt 26.07.2005, 12:01   #3
JoergStueger
Master
 
Registriert seit: 28.10.2002
Alter: 47
Beiträge: 626


JoergStueger eine Nachricht über ICQ schicken
Standard

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
JoergStueger ist offline   Mit Zitat antworten
Alt 26.07.2005, 12:33   #4
T.dot
Master
 
Registriert seit: 13.08.2003
Beiträge: 624


Standard

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
T.dot ist offline   Mit Zitat antworten
Alt 26.07.2005, 12:36   #5
JoergStueger
Master
 
Registriert seit: 28.10.2002
Alter: 47
Beiträge: 626


JoergStueger eine Nachricht über ICQ schicken
Standard

Hallo!

Ich habe MS-SQL und es sieht gut aus!!!!!

Vielen herzlichen Dank!!!!!!!


LG
Joerg
JoergStueger ist offline   Mit Zitat antworten
Alt 26.07.2005, 22:06   #6
snowman
Inventar
 
Registriert seit: 26.09.1999
Beiträge: 2.569


Standard

Vielleicht verstehe ich was nicht, aber das ist ein klassisches Beispiel für "GROUP BY".

Code:
SELECT * FROM Tabelle GROUP BY Key
gruss,
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!
snowman ist offline   Mit Zitat antworten
Alt 27.07.2005, 08:46   #7
T.dot
Master
 
Registriert seit: 13.08.2003
Beiträge: 624


Standard

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
T.dot ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:18 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag