Ergebnis 1 bis 1 von 1

Thema: update bestimmter datensätze , neue reihenfolge deklarieren

  1. #1
    HTML Newbie
    Registriert seit
    14.09.2015
    Beiträge
    1
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard update bestimmter datensätze , neue reihenfolge deklarieren

    Update Funktion MYSQL
    ich trage in eine Tabelle folgende Datensätze aus einer Anwendung ein
    DS1 - DS5 id,auftrag, position, nummer, bezeichnung, upe,...
    Bsp:
    1, 0815, 1, 007, muster, 125.00,..
    2, 0815, 3, 008, müster, 126.00,..
    3, 0815, 5, 009, mister, 127.00,..
    4, 0815, 6, 100, mist, 98.00,...
    5, 0815, 7, 101, müste, 55.30,...

    soweit ist alles io, nur müsste die position aller datensätze des auftrages 0815 so geändert werden, dass eine fortlaufende nummerierung erfolgt:

    1, 0815, 1, 007, muster, 125.00,..
    2, 0815, 2, 008, müster, 126.00,..
    3, 0815, 3, 009, mister, 127.00,..
    4, 0815, 4, 100, mist, 98.00,...
    5, 0815, 5, 101, müste, 55.30,...

    Wer kann helfen?
    Die id ist im richtigen Leben etwas umfangreicher '38ED25D64C7B6341C1257D870'

    folgende abfrage bringt schon mal die anzahl der datensätze je auftrag
    Select A.Auftrag, A.position, Count(*) As Anzahl
    From tabelle A
    Group By A.Auftrag, A.position

    nur eine verwendung dieser abfrage als update

    Update tabelle A
    Inner Join
    (Select A.Auftrag, A.position, Count(*) As Anzahl
    From tabelle AS A Inner Join tabelle AS B
    On A.position = B.position And A.auftrag>= B.auftrag
    Group By A.auftrag, A.position) AS C
    Set A.position= C.Anzahl
    where A.auftrag = C.auftrag

    trägt falsche werte ein......

    Zwischenlösung generiert, diese funktioniert, bin mir sicher, dass das nicht das Optimum ist

    ' genriere Temporäre Tabelle....

    CREATE TABLE l_tmp_'0815' (
    `position` smallint(5) NOT NULL AUTO_INCREMENT,
    `ID` varchar(35) COLLATE latin1_german1_ci NOT NULL DEFAULT '',
    `auftrag` varchar(30) COLLATE latin1_german1_ci NOT NULL DEFAULT '',
    PRIMARY KEY (`posID`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci ROW_FORMAT=DYNAMIC;
    insert into l_tmp_'0815' (ID, auftrag)
    select ID, auftrag from tabelle_a
    where ID = '0815';
    update tabelle_a l, l_tmp_'0815' t
    set l.position = t.position
    where l.ID = t.ID;
    DROP Table l_tmp_'0815';

    Vielen Dank allen Beteiligten,
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Geändert von deinVater (18.09.2015 um 11:27 Uhr)

Ähnliche Themen

  1. Anzahl der Datensätze mit bestimmter Eigenschaft zählen?
    Von funbox im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 16.03.2009, 15:55
  2. MySQL => IDs nach bestimmter Reihenfolge ausgeben...
    Von gelöschter User im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 14.10.2007, 13:46
  3. Datensätze in SQL Datenbank mit Update
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 9
    Letzter Beitrag: 08.06.2006, 13:13
  4. Musik nach bestimmter Reihenfolge ablaufen lassen!!!!!!!
    Von mc__gyver im Forum HTML & CSS Forum
    Antworten: 11
    Letzter Beitrag: 25.01.2006, 23:09
  5. formular - neue seite mit bestimmter größe
    Von iop im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 28.09.2004, 01:49

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •