Einfache Abfrage

Gert_Sky

Neuer Benutzer
Beiträge
2
Hallo zusammen,


bin ganz neu hier und muss jetzt doch mal Anfangen mich tiefer mit SQL zu befassen :) Ich hoffe ich kann hier auch Anfänger Fragen stellen so wie diese :)

Ich müsste eine Abfrage machen in der ich Rausfinde welche Kunden die gleich ID haben.

Also ein Kunde hat eine ID z.b Hans Müller hat 1234 jetzt ist es duch einen Import aber dazu gekommen das auch Michael Schmitz die 1234 haben könnte. Wie kann ich das Abfragen? Ihr seht ich bin Anfänger :)

Ich habe eine MariaDB mit dem Tool HeidiSQL


Danke und Viele Grüße

Gert
 
Werbung:
angenommen, du hast:

Code:
test=# create table gert_sky(id int, name text);
CREATE TABLE
test=*# insert into gert_sky select s, 'Name ' || s::text from generate_series(1,10) s;
INSERT 0 10
test=*# select * from gert_sky ;
 id |  name   
----+---------
  1 | Name 1
  2 | Name 2
  3 | Name 3
  4 | Name 4
  5 | Name 5
  6 | Name 6
  7 | Name 7
  8 | Name 8
  9 | Name 9
 10 | Name 10
(10 rows)

test=*# insert into gert_sky values (7, 'der ist doppelt');
INSERT 0 1
test=*# select * from gert_sky ;
 id |      name       
----+-----------------
  1 | Name 1
  2 | Name 2
  3 | Name 3
  4 | Name 4
  5 | Name 5
  6 | Name 6
  7 | Name 7
  8 | Name 8
  9 | Name 9
 10 | Name 10
  7 | der ist doppelt
(11 rows)

id = 7 ist nun doppelt. Du willst die ID wissen, die doppelt sind:

Code:
test=*# select id, count(*) from gert_sky group by id having count(*) > 1;
 id | count
----+-------
  7 |     2
(1 row)

test=*#

Dein grundlegender Fehler ist, daß Die ID Deiner Kundentabelle kein PRIMARY KEY ist, Das wird Dir noch öfter schmerzhaft auf die Füße fallen.
 
Hallo,

danke, das Prblem dabei ist ich habe in der Spalte ID ganze viele gleiche zu einem Namen der Name kommt ja öfters vor und somit auch die ID. Ich bräuchte was, was mir anzeigt, wenn zwei Namen die gleich ID habe. Wenn jetzt Michael Müller und Franz Schmitz die gleich ID haben. Nicht wenn der gleich Name die gleiche ID hat :)

Danke und LG
Gert
 
Werbung:
akretschmer hat da schon Recht, es gibt eine Tabelle Kunden in der es zu jedem Kunden genau einen Eintrag gibt, vielleicht liegt dort schon dein Fehler. Alle anderen Informationen / Bewegungsdaten können zwar einem Kunden zugeorndet werden (über die ID) und dort kann dann die selbe ID auch mehrfach vorkommen aber dort stehen eben keine Daten wie Kundenname, die kommen nur in die Kundentabelle.

In der Kundentabelle ist eine ID immer eindeutig.
Code:
SELECT * FROM tabelle WHERE id IN ( SELECT ID FROM tabelle GROUP BY ID HAVING count(DISTINCT kundenname) > 1 ) ORDER BY ID,kundenname
Das sollte recht schnell eine Liste betroffener Kunden liefern. Ich weiß aber nicht ob MySQL count(DISTINCT spalte) kann.
 
Zurück
Oben