![]() |
SQL statement
hy!
möchte von t1 alle zeilen zurückbekommen wo in der spalte sBsArNr ein datensatz öfter als einmal vorkommt. wie stell ich das am besten an? |
ich würds wahrscheinlich so machen, dass ich die stichwörter in ein feld lade, und dann die anzahl der jeweiligen auslese... und dann mit ner for schleife das ganze ausgeben.. ist evt n bisschen kompliziert gedacht..
so in der art? PHP-Code:
|
Bei MySQL könntest du das mit HAVING realiasieren, aber wenn ich mich richtig erinnere bits du MSSQL Jünger?
~ |
@käptn
ja, wäre auf MSSQL server |
ok.. habt ihr einen link für optimierte mysql abfragen, weil wenn du sagst dass das einfacher geht würd mich das auch gerne interessieren.. weil mir kommt es so vor, dass ich da von vielen befehlen keine ahnung hab, die mir einiges erleichtern würden
|
HAVING ist weit davon entfernt, um als "optimiert" bezeichnet werden zu können.
Sehe gerade, dass auch MSSQL HAVING unterstützt. Also, etwa so: Code:
SELECT *, COUNT(*) AS anzahl |
wozu dann eigentlich having? ist where nicht mehr 'in'? oder macht das wirklich einen unterschied?
SELECT *, COUNT(*) AS anzahl FROM table WHERE anzahl > 1; |
Der Alias "anzahl" ist zur Zeit der Evaluierung der WHERE Klausel noch nicht verfügbar.
Ah ja, ausserdem fehlt in meinem Statement eine GROUP BY Klausel. ~ |
ah, hast natürlich recht. wie praktisch!
|
moment: selbst mit "GROUP BY" wird dein statement nicht das machen was "reichr" wollte: mit "...wo in der spalte sBsArNr ein datensatz öfter als einmal vorkommt" hat er wohl gemeint "wo mehr als ein datensatz die selbe artikelnummer hat". kann mit deinem statement nicht gehen, weil du ja nicht alle zutreffenden rows ausspuckst sondern sie ja aggregieren möchtest (wonach denn eigentlich? alle felder außer der artikelnummer sind ja potenziell verschieden!)
ich sag nur: theta-join! SELECT DISTINCT tab1.* FROM t1 tab1, t1 tab2 WHERE tab1.sBsArNr = tab2.sBsArNr; |
Alle Zeitangaben in WEZ +2. Es ist jetzt 08:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag