ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
440
440
EMPFEHLEN
-
Hi,
ich habe eine Tabelle, in der ich Artikelbilder eintragen kann (Artikelnummer und Pfad zum Bild). Maximal sind drei dieser Bilder erlaubt. Es kommt jedoch trotzdem manchmal dazu, dass pro Artikel mehr, als diese drei Verlinkungen gespeichert werden.
Das Problem bei der ganzen Sache ist, dass ich beim Hochladen der Bilder eben nur maximal die drei Bilder pro Artikel auswählen darf.
Wie kann ich einen SQL-Befehl so bauen, indem ich pro Artikel maximal drei Einträge selektieren kann? Mit TOP(3) kann ich natürlich nicht arbeiten, da in der Tabelle logischerweise mehrere Artikelbilderverlinkungen vorhanden sind.
Ich habe es mit ROW_NUMBER versucht, aber ich darf in der Ausgabe des Befehls nur zwei Spalten angezeigt haben (Artikelnummer und Pfad), da das Ergebnis für eine INSERT-Anweisung benutzt wird.
Ist ziemlich schwer, aber vielleicht weiß jemand eine Lösung
MfG
Va7e
-
Ich kenne MS-SQL nicht.
Aber die ROW_NUMBER, müsste doch nur ins WHERE, nicht in den SELECT-Teil.---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Hallo Va7e,
das Problem müsste eigentlich wie folgt zu lösen sein:
Code sql:1 2 3 4 5 6 7 8 9 10
SELECT Artikel, Bilderpfad FROM ( SELECT Artikel, Bilderpfad, ROW_NUMBER() OVER (partition BY Artikel ORDER BY Artikel, Bilderpfad) AS RowNumber FROM TabelleA ) AS a WHERE RowNumber <= 3
Mit
Code sql:1 2 3 4 5 6 7 8 9 10
SELECT Artikel, Bilderpfad FROM ( SELECT Artikel, Bilderpfad, ROW_NUMBER() OVER (partition BY Artikel ORDER BY Artikel, Bilderpfad) AS RowNumber FROM TabelleA ) AS a WHERE RowNumber > 3
können dann die Datensätze ausgegeben werden, die aufgrund der Beschränkung nicht hochgeladen werden konnten.
Gruß FrameGeändert von Frame (14.02.12 um 17:57 Uhr)
Ähnliche Themen
-
Maximal 20 Links pro Seite
Von multimolti im Forum PHPAntworten: 9Letzter Beitrag: 02.03.07, 16:54 -
Textarea maximal 100 Zeichen?
Von chpa im Forum HTML & XHTMLAntworten: 4Letzter Beitrag: 06.04.04, 12:32 -
Varaible maximal erhöhen
Von Fluctuator im Forum PHPAntworten: 2Letzter Beitrag: 27.04.03, 13:04 -
maximal 10 .....
Von mille im Forum PHPAntworten: 2Letzter Beitrag: 19.09.01, 09:02





Zitieren

Login





