none
Nur gleiche werte anzeigen lassen RRS feed

  • Frage

  • Hallo,
    bin noch neu hier also bitte nicht wundern :D .

    Ich hab auf einem SQL 2005 eine Tabelle liegen . Diese hat spalten wie Belegnummer, Betrag , Kundenname, und so weiter.
    Das Problem ist nun das es doppelte oder sogar 4fache Belegnummer gibt aber alle haben unterschiedlich Beträge.
    Ich wollte jetzt gerne alle Belegnummer raus filtern die Doppelt sind und mit den anderen Spalten anzeigen lassen .

    Hoffe ihr könnt mir was Helfen.
    Vielen dank schon mal.
    Mittwoch, 18. November 2009 15:11

Antworten

  • Hallo Fugu,

    so zum Beispiel:

    ;with doppelte as
    (
        select
             count(Belegnummer) over (partition by Belegnummer) as Anzahl
            ,Belegnummer
            ,Betrag
            , ...
        from dbo.Deine_Tabelle
    )
    select *
    from doppelte
    where
        Anzahl > 1
    order by
        Belegnummer
    Viele Grüße
    Christoph
    • Als Antwort markiert Fugu3102 Donnerstag, 19. November 2009 09:57
    Mittwoch, 18. November 2009 17:13

Alle Antworten

  • Hallo Fugu,

    so zum Beispiel:

    ;with doppelte as
    (
        select
             count(Belegnummer) over (partition by Belegnummer) as Anzahl
            ,Belegnummer
            ,Betrag
            , ...
        from dbo.Deine_Tabelle
    )
    select *
    from doppelte
    where
        Anzahl > 1
    order by
        Belegnummer
    Viele Grüße
    Christoph
    • Als Antwort markiert Fugu3102 Donnerstag, 19. November 2009 09:57
    Mittwoch, 18. November 2009 17:13
  • Vielen dank für deine Hilfe aber irgendwie will das nicht so ganz.
    Bekomme immer eine Fehlermeldung.

    Hab mal Screenshot von gemacht :
    Link: http://img10.imageshack.us/img10/3791/fehlsql.jpg

    Damit man auch weis was was ist:

    AVB_INV_NUMER = Belegenummer
    AVB_AMOUNT = Beträge
    Tabelle = AV_BILLING

    Donnerstag, 19. November 2009 09:34
  • Du musst ,... wegmachen. Das hatte ich nur dazugefügt um deutlich zu machen, dass da noch weitere Spalten bei Bedarf hinzugefügt werden können... also AVB_AMOUNT FROM statt AVB_AMOUNT, ... FROM

    Viele Grüße
    Christoph
    Donnerstag, 19. November 2009 09:43
  • Ja hab ich aber bekomm dennoch diese meldung

    ; WITH doppelte AS (SELECT     count(AVB_INV_NUMBER) OVER (partition BY AVB_INV_NUMBER) AS Anzahl, AVB_INV_NUMBER, AVB_AMOUNT
                                                FROM         dbo.AV_BILLING)
        SELECT     
         FROM         doppelte
         WHERE     Anzahl > 1
         ORDER BY AVB_INV_NUMBER

    Donnerstag, 19. November 2009 09:55
  • Jetzt hab ich es . Ich hatte das * nach SELECT vergessen. 

    Vielen Dank für deine Hilfe .
    Donnerstag, 19. November 2009 09:57