![]() |
Datenbank: MySQL • Version: 4.1 • Zugriff über: ZEOS
SQL Abfrage nach dem größten Wert
Hey,
Ich möchte gerne aus der Tabelle Artikel die höchste und somit die letzte Artikelnummer abfragen (Was ich nicht bevorzuge ist eine Schleife um jede einzelne Artikelnummer abzufragen). Die Schwierigkeit dabei ist: Artikelnummer-Feld ist VarChar(15), kann also so heissen: GRA-001, 001-001, 001001 im SELECT muss dann wahrscheinlich folgendes Vorkommen: WHERE ARTNR LIKE "'+Variable+'-'+'%"; Die Variable sind die Zeichen(Zahlen und Buchstaben) vor dem Bindestrich. Mit "SELECT MAX(ARTNR) FROM ARTIKEL" bekomme ich den höchsten Wert von Integer Zahlen, nur wie mache ich das in meinem Bsp? Könnt Ihr helfen? |
Re: SQL Abfrage nach dem größten Wert
Hallo Hansi,
du hast also deine ArtikelNummer aus ArtikelGruppe, einem Minus als Trennzeichen und einer fortlaufenden Nummer zusammengesetzt und suchst die höchste Nummer für eine bestimmte Artikelgruppe?
SQL-Code:
Wenn wir Glück haben funktioniert das.
SELECT MAX(CAST(SUBSTRING_INDEX(ArtikelNummer, '-', -1) AS UNSIGNED)) AS MaxNummer
FROM Artikel WHERE ArtikelNummer LIKE 'GRA-%' Vorweihnachtliche Grüße vom marabu |
Re: SQL Abfrage nach dem größten Wert
Hallo marabu,
Leider funktioniert es noch nicht ganz. Hier mein Code:
Delphi-Quellcode:
kre_art_pf entspricht der Stringvariablen "001"
ZQ_Art_Suche.SQL.Clear;
ZQ_Art_Suche.SQL.Add('SELECT MAX(CAST(SUBSTRING_INDEX(ARTNR, '-', -1) AS UNSIGNED)) AS MaxNummer FROM ARTIKEL WHERE ARTNR LIKE "'+kre_art_pf+'-'+'%"'); ZQ_Art_Suche.Open; Fehler lautet bei hinteren LIKE Operatot ist auf diesen Operatortyp nicht anwendbar! Weisst Du Rat? Edit: Also diese Abfrage funktioniert:
Delphi-Quellcode:
Bringt das mir/Dir was?
ZQ_Art_Suche.SQL.Clear;
ZQ_Art_Suche.SQL.Add('SELECT ARTNR FROM ARTIKEL WHERE ARTNR LIKE "'+kre_art_pf+'-'+'%"'); ZQ_Art_Suche.Open; ShowMessage('Anzahl der gefundenen Artikel:'+IntToStr(ZQ_Art_Suche.RecordCount)); |
Re: SQL Abfrage nach dem größten Wert
Zitat:
Zitat:
|
Re: SQL Abfrage nach dem größten Wert
Hansi, was soll ich sagen - bei mir läufts so wie gepostet, wenn ich es im MySQL-Browser direkt verwende. Sollte es an den ZEOS Komponenten liegen?
marabu |
Re: SQL Abfrage nach dem größten Wert
Halllo marabu,
Du hast Recht in meinem SQL Manager tut Dein SQL-Befehl auch. Muss mal schaun wo bei mir der Fehler liegt! Vielen Dank! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz