Announcement

Collapse
No announcement yet.

SELECT DISTINCT und dennoch alle spalten?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SELECT DISTINCT und dennoch alle spalten?

    Hi Leute,

    Ich hab versucht zu suchen aber nicht das gefunden was i brauch (oder zumindest hab i nit verstanden das ich schon die lösung gesehen hab ^^)

    Mein Problem is folgendes:

    Habe ein Tabelle mit 12 Spalten und mehreren 10k Datensaetzen ...
    select disctinct liefert mir natürlich alle nicht doppelten daten aus einer spalte.

    Ich benötige aber alle spalten auch nach dem Filtern.

    Das ganze ist eine Artikeltabelle zur Lagerzuordnung: dh es kann natürlich vorkommen das es in mehreren spalten das gleiche steht ich muss aber nach einer bestimmte spalte "mat_id" filtern.

    sprich ich muss alle eindeutigen artikel ids und di eingetragenen daten rausfiltern können.

    Kann mir wer helfen?
    Falls ich mich unverständlich ausgedrueckt hab sorry ich sthe schon sowas von daneben noch dazu kommt das ich ein anfaenger bin ^^

    Danke schon aml

  • #2
    Hallo,
    Originally posted by dpratl View Post
    ...select disctinct liefert mir natürlich alle nicht doppelten daten aus einer spalte.
    Nein, DISTINCT fast alle identischen Datensätze zusammen. Für die Zusammenfassung werden ALLE im Select aufgeführten Spalten berücksichtigt.

    Originally posted by dpratl View Post
    ...Ich benötige aber alle spalten auch nach dem Filtern.
    DISTINCT hat keinen Einfluss auf die Anzahl der Spalten. DISTINCT fast DS, also Zeilen, zusammen.

    Originally posted by dpratl View Post
    ...
    Das ganze ist eine Artikeltabelle zur Lagerzuordnung: dh es kann natürlich vorkommen das es in mehreren spalten das gleiche steht ich muss aber nach einer bestimmte spalte "mat_id" filtern.
    Würdest du das selber verstehen wenn du das liest

    Originally posted by dpratl View Post
    ...Falls ich mich unverständlich ausgedrueckt hab sorry ich sthe schon sowas von daneben noch dazu kommt das ich ein anfaenger bin ^^
    Gerade dann solltest du dir Mühe geben dein Problem korrekt zu formulieren, ansonsten kann es passieren das du keine oder nur Hilfe bekommst die dich nicht weiterbringt oder nochmehr verwirrt.
    Die Zeit die man sich für eine überlegte Frage nimmt, spart man mehrfach an unnützen Nachfragen, blöden Bemerkungen und wenig hilfreichen Antworten wieder ein.

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      OK du hast recht

      Ich versuchs verständlicher (zumindest für mich)

      wenn ich

      Code:
      SELECT *
      FROM TABLE_ARTIKEL
      mache kriege ich ja das:

      Code:
      MAT_ID - NAME - LAGER
      23 - schuh - 2
      23 - schuh - 3
      45 - buch - 2
      67 - Maus - 2
      mit

      Code:
      SELECT DISTINCT MAT_ID
      FROM TABLE_ARTIKEL
      nur mehr

      Code:
      MAT_ID
      23
      45
      67
      Was im Prinzip nicht schlecht ist aber was ich will ist folgendes

      Code:
      MAT_ID - NAME - LAGER
      23 - schuh - 3
      45 - buch - 2
      67 - Maus - 2
      Wichtig ist für mich das jeder Artikel eindeutig ist, völlig irrelevant aus welchem Lager, da ich das dann danach sowieso ändere

      Also mein Frage: wie krieg ich das hin?

      Danke schon mal

      PS: Hoffe es ist jetzt verständlicher gewesen

      Comment


      • #4
        Wichtig ist für mich das jeder Artikel eindeutig ist, völlig irrelevant aus welchem Lager, da ich das dann danach sowieso ändere
        Wieso fragst Du das Lager ab, wenn es Dich nicht interessiert?

        [HIGHLIGHT="SQL"]SELECT DISTINCT Mat_ID, Name FROM TABLE_ARTIKEL
        [/HIGHLIGHT]

        Comment


        • #5
          Originally posted by ebis View Post
          Wieso fragst Du das Lager ab, wenn es Dich nicht interessiert?
          Das system ist so ...

          Wenn man einem Artikel mehrere Lager zuteilt wird dann in der Tabelle der artikel mit seiner ID und all seinen anderen attributen (so wie Menge auf Lager bestellmenge usw) mehrfach angelegt

          nun ist es aber so das ich nun die Aufgabe habe allen artikeln auch alle bestehende Lager zuteilen muss ... dafür muss ich aber erst alle artikel eindeutig aus der bestehenden tabelle rausschreiben in ein tmp tabelle dort ändere ich mit UPDATE dann das Lager und schreibe es wieder zurück mit INSERT INTO

          udn wegen dieses INSERT INTO BEfehles muss die tmp tabelle gleichviele spalten haben wie die ursprungstabell oder?

          Comment


          • #6
            Originally posted by dpratl View Post
            Das system ist so ...

            udn wegen dieses INSERT INTO BEfehles muss die tmp tabelle gleichviele spalten haben wie die ursprungstabell oder?
            Wen dir das Lager egal ist, du es danach eh änderst und nur die Anzahl der Spalten stimmen muß, dann gib doch einfach eine (immer gleiche) Dummy-Spalte an.
            [highlight=sql]
            SELECT DISTINCT Mat_ID, Name, NULL as Lager FROM TABLE_ARTIKEL
            [/highlight]

            Gruß Falk
            Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

            Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

            Comment


            • #7
              Originally posted by Falk Prüfer View Post
              [highlight=sql]
              SELECT DISTINCT Mat_ID, Name, NULL as Lager FROM TABLE_ARTIKEL
              [/highlight]

              Gruß Falk
              SUPER DANKE

              wieder viel gelernt ^^

              Comment


              • #8
                Warum geht

                [highlight=sql]
                SELECT DISTINCT Mat_ID, Name, NULL AS Lager FROM TABLE_ARTIKEL
                [/highlight]

                und

                [highlight=sql]
                SELECT DISTINCT Mat_ID, Name FROM TABLE_ARTIKEL
                [/highlight]

                nicht? Eigentlich müsste das doch genau das gleiche sein. Oder etwa nicht?

                Frage ich nur rein des Interesses wegen

                Edit: Frage geklärt... wer lesen kann ist klar im Vorteil. Die neue Tabelle soll genauso aussehen wie die alte -.- meiomei... Zeit fürs Wochenende!!!! Schönes Wochenende alle zusammen!!!

                Comment

                Working...
                X