Anzeige - [Hier werben / Mediadaten]
(?) Tags raten (?) (edit)
 
Reply to this topicStart new topicStart Poll
> MYSQL query Invertieren, Spalte Updaten nach select
Daniel_CB
Geschrieben am: Mi 5.09.2007, 15:03
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 54
Mitglied seit: 13.04.2006


Hallo Liebe Forengemeinde.

Ich habe eine Tabelle die einmal im monats geupdated wird. Die Zusammenhänge laufen über eine Stored Procedures ab.

USER_ID || USER_POSITION

bis jetzt weiche ich immer auf ein PHP script aus um dieses Problem zu lösen.
In diesem Script wird eine temporäre Tabelle angelegt die User in die Tabelle neu hereinsortiert und danach einfach ein Update und die Daten zurückkopiert. die Position ist dabei ein PRIMARY kEY MIT AUTOINCREMENT
CODE

$sql = 'INSERT INTO `kd_zeitpunktetabelle` ( `id` )'
  . ' SELECT NULL, REL.id'
  . ' FROM `kunden_rechnungslauf` AS REL'
  . ' LEFT JOIN Kunden AS KD'
  . ' ON REL.id = KD.id'
  . ' WHERE KD.aus_dat IS NULL AND KD. wieder_dat != 0'
  . ' ORDER BY KD.wieder_dat DESC';


Ich habe irgendwo mal gesehen das man ein Update auch mit der Aktuellen Datensatznummer machen kann smile.gif

Danke Daniel
Top
PMICQMSN
Top
 
 
jAuer
Jürgen Auer - freiberufl. Programmierer
#2 Geschrieben am: Mi 5.09.2007, 18:32 (+03:28)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 2410
Mitglied seit: 4.02.2006


Ein Update kannst Du in der Regel direkt machen:

CODE
Update Tabelle
Set Spalte = B.Wert
From Tabelle As A Inner Join
   (Select X.Id, X.Wert * 5.8
   From Tabelle As X Where ...) As B
On A.Id = B.Id
Where ...


Im Prinzip kannst Du den bis jetzt genutzten Select-Ausdruck direkt als Unterabfrage verwenden und ihn mit der vorhandenen Tabelle verknüpfen, um die gewünschten Zeilen zu ermitteln.

Im Update-Abschnitt gibt es da sicherlich noch ein paar Beispiele.


--------------------
Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.

server-daten - die Single-Data-Solution: Web-Datenbanken als Online - CRM - Lösung.
Ihre Geschäftsprozesse entscheiden, was Ihre Online-Datenbank macht. Sie konzentrieren sich auf Ihr Kerngeschäft - Ihre Datenbank funktioniert.
Top
PMEmail PosterUsers Website
Top
 
Daniel_CB
#3 Geschrieben am: Mi 5.09.2007, 19:06 (+00:34)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 54
Mitglied seit: 13.04.2006


Vielen Dank,

und damit bekomme ich die aktuelle Position heraus

Sprich
ID||DATUM
1 = 01.08.2007
2 = 04.08.2007
3 = 02.08.2007
4 = 05.08.2007
5 = 03.08.2007

ist die Ausgangslage

und nach dem Update soll es so in der Tabelle stehen

ID||POSITION
1 = 1
2 = 4
3 = 2
4 = 5
5 = 3

Gruß Daniel
Top
PMICQMSN
Top
 
jAuer
Jürgen Auer - freiberufl. Programmierer
#4 Geschrieben am: Mi 5.09.2007, 19:13 (+00:07)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 2410
Mitglied seit: 4.02.2006


mySql nutze ich nicht.

Aber da wird es sicherlich irgendeine Positionsfunktion geben, also eine Funktion, welche die Position der aktuellen Zeile im Ergebnis zurückgibt.

Mit

CODE
Select A.id, diese-Positionsfunktion() As Wert
From Tabelle
Order By Datum


kriegst Du das, also das in die Update-Klausel rein (die mySql-Version muß natürlich Unterabfragen unterstützen).


--------------------
Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.

server-daten - die Single-Data-Solution: Web-Datenbanken als Online - CRM - Lösung.
Ihre Geschäftsprozesse entscheiden, was Ihre Online-Datenbank macht. Sie konzentrieren sich auf Ihr Kerngeschäft - Ihre Datenbank funktioniert.
Top
PMEmail PosterUsers Website
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/20473

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
Lost connection to MySQL cr4m0 65 2 So 23.11.2008, 13:10
MySQL Frage G.P. 91 2 Mo 17.11.2008, 15:59
Suche Freelancer: Ajax, XML, PHP, MySQL omc 299 3 Mi 12.11.2008, 18:22
Einbinden vonn RSS feeds in Typo3 / MYSQL e-card 10800 5 Di 4.11.2008, 18:36
MySql Frage - ID Ändern EuD 109 2 Di 4.11.2008, 11:09
mysql query vereinfachen Big Rob 154 5 Mo 3.11.2008, 22:40
mysql Dump Städte pl_90 150 2 So 26.10.2008, 01:13
MySQL Befehl G.P. 160 5 Fr 24.10.2008, 15:58
Lösung für: Content Slider-Java Script-PHP-MySql Antoine Johannes 305 2 Fr 26.09.2008, 12:54
PHP + MySQL 2 Fragen an euch Coach 186 1 Do 18.09.2008, 10:52




Anzeige - [Hier werben / Mediadaten]



Anzeigen


[Hier werben / Mediadaten]