php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.03.2005, 13:31  
Erfahrener Benutzer
 
Registriert seit: 16.06.2004
Beiträge: 125
nautiluS
nautiluS eine Nachricht über ICQ schicken
Standard problem mit UPDATE query

hi...

möchte gerne meine db aufräumen. komme aber nicht auf den "richtigen" sqlstring, vielleicht gibt es ihn auch gar nicht (zumindest so wie ich mir das denke) aber vielleicht weiss jemand was:

Code:
UPDATE appointment
SET Done='J'
WHERE CustID = CustID (an der Stelle an der die CustID gleich sind)
AND SalesID != SalesID (an der Stelle an der SalesID unterschiedlich ist)
AND Timest < Timest (der Timest der am ältesten ist);
auszug aus der db:
  • SalesID - CustID - Done - Timest
    47 25 N 20050228094211
    48 25 N 20050302094211

also in der ersten zeile sol aus N ein J werden
nautiluS ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 13.03.2005, 13:49  
Erfahrener Benutzer
 
Registriert seit: 04.07.2003
Beiträge: 359
PHP-Kenntnisse:
Fortgeschritten
Sirke befindet sich auf einem aufstrebenden Ast
Standard

Also wenn ich das jetzt richtig verstanden habe, dann möchtest du einen eintrag und zwar den ältesten updaten, aber was meinst du mit:
Zitat:
(an der Stelle an der die CustID gleich sind)
(an der Stelle an der SalesID unterschiedlich ist)
Den einen ältesten Eintag updatest du mit:
PHP-Code:
<?php
$sql
="UPDATE ... ORDER BY Timest DESC LIMIT 1"
?>
Sirke ist offline   Mit Zitat antworten
Alt 13.03.2005, 13:55  
Erfahrener Benutzer
 
Registriert seit: 16.06.2004
Beiträge: 125
nautiluS
nautiluS eine Nachricht über ICQ schicken
Standard

mmmh soweit hast du das richtig verstanden... aber in der table sind ca zwei einhalb tausend einträge.. bei einigen hat sich ein fehler eingeschlichen.

CustID = Kunde
SalesID = Verkäufer

der fehler ist das manche Kunden auf zwei oder mehrere Verkäufer gelegt ist. das soll nicht sein sondern nur auf edn aktuellsten...

besser?
nautiluS ist offline   Mit Zitat antworten
Alt 14.03.2005, 16:55  
Erfahrener Benutzer
 
Registriert seit: 04.07.2003
Beiträge: 359
PHP-Kenntnisse:
Fortgeschritten
Sirke befindet sich auf einem aufstrebenden Ast
Standard

Wenn ich das jetzt richtig verstanden habe, möchtest du das es zu jedem kunden nur einen eintrag mit "j" gibt, und zwar den neusten. Wenn das stimmt, müsste das so aussehen:
PHP-Code:
<?php
$sql
="UPDATE tabelle SET Done='J' GROUP BY CustID ORDER BY Timest DESC LIMIT 1";
?>
Wenn du zu jedem Kunden und jedem Verkäufer nur eine eintag mit "j" haben möchtest, muss das so lauten:
PHP-Code:
<?php
$sql
="UPDATE tabelle SET Done='J' GROUP BY CustID,SalesID ORDER BY Timest DESC LIMIT 1";
?>
Ich hoffe das ist jetzt gut

MfG Sirke
Sirke ist offline   Mit Zitat antworten
Alt 17.03.2005, 10:22  
Erfahrener Benutzer
 
Registriert seit: 16.06.2004
Beiträge: 125
nautiluS
nautiluS eine Nachricht über ICQ schicken
Standard

perfekt =) danke!!!

hatte es allerdings mit einem script gelöst:

PHP-Code:
<?php
$conn 
konek();
pilihdatabase();
$sql "SELECT NoApp, SalesID, CustID, Date, Time, ToDo, Done, TimeStamp, warned FROM appointment WHERE Done='N' order by 'CustID'";
$row mysql_query($sql$conn);
$erg mysql_fetch_row($row)or die ("MySQL-Fehler: " mysql_error()); 
if (
$erg)
{
    echo 
"
"
;
    echo 
"<CENTER>";
    echo 
"<TABLE border=0>";
    echo 
"<TH bgcolor=#CCCCCC colspan=2><CENTER>NoApp</CENTER></TH>
         <TH bgcolor=#CCCCCC><CENTER>SalesID</CENTER></TH>
         <TH bgcolor=#CCCCCC><CENTER>CustID</CENTER></TH> 
         <TH bgcolor=#CCCCCC><CENTER>Date</CENTER></TH> 
         <TH bgcolor=#CCCCCC><CENTER>Time</CENTER></TH>
         <TH bgcolor=#CCCCCC><CENTER>ToDo</CENTER></TH> 
         <TH bgcolor=#CCCCCC><CENTER>Done</CENTER></TH> 
         <TH bgcolor=#CCCCCC><CENTER>TStamp</CENTER></TH>
         <TH bgcolor=#CCCCCC><CENTER>warned</CENTER></TH>
         </TR>
         "
;
    do
    {
        list(
$NoApp$SalesID$CustID$Date$Time$ToDo$Done$TimeStamp$warned) = $erg;
        if (
$sn==$CustID)
        {
            echo 
"<TR>";
            echo 
"<TD bgcolor=#EEEEEE>";
            echo 
"$NoApp</TD>";
            echo 
"<TD bgcolor=#BBF6BC>";
            echo 
"</TD>";
            echo 
"<TD bgcolor=#EEEEEE>";
            echo 
"$SalesID";
            echo 
"</TD>";
            echo 
"<TD bgcolor=#EEEEEE>";
            echo 
"$CustID";
            echo 
"</TD>";
            echo 
"<TD bgcolor=#EEEEEE>";
            echo 
"$Date";
            echo 
"</TD>";
            echo 
"<TD bgcolor=#EEEEEE>";
            echo 
"$Time";
            echo 
"</TD>";
            echo 
"<TD bgcolor=#EEEEEE>";
            echo 
"$ToDo";
            echo 
"</TD>";
            echo 
"<TD bgcolor=#EEEEEE>";
            echo 
"$Done";
            echo 
"</TD>";
            echo 
"<TD bgcolor=#EEEEEE>";
            echo 
"$TimeStamp";
            echo 
"</TD>";
            echo 
"<TD bgcolor=#EEEEEE>";
            echo 
"$warned";
            echo 
"</TD>";
            echo 
"</TR>";
            
            
$sql2 "UPDATE `appointment` SET `Done` = 'J' WHERE CustID='$CustID' AND TimeStamp < '$TimeStamp'";
            
mysql_query($sql2$conn);
            
        }
        
$sn=$CustID;
    }
    while (
$erg mysql_fetch_row($row));
}
else 
    {
        echo 
"

Tabelle ist noch leer.</P>"
;
    }
mysql_close($conn);
?>
nautiluS ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit Update taucher PHP Tipps 2008 6 01.07.2008 05:50
Problem mit Update PHP Tipps 2007 8 28.12.2005 12:45
mysql problem: mysql update wird nicht ausgeführt schmiddy PHP Tipps 2007 4 27.12.2005 20:35
Mysql update problem PHP Tipps 2007 8 21.12.2005 15:56
Update problem Datenbanken 10 03.11.2005 18:06
query problem... Sclot Datenbanken 5 11.03.2005 16:00
[Erledigt] Problem mit UPDATE Datenbanken 3 22.02.2005 17:47
Update Problem beim zurück schreiben... PHP Tipps 2005 3 09.02.2005 12:50
Problem: MySQL Query funktioniert nicht. Wieso? PHP Tipps 2004-2 3 24.12.2004 13:58
[Erledigt] Select &amp;amp;amp; Update Syntax Problem! Datenbanken 3 14.12.2004 18:17
mysql - update query Unbekanntes_Pferd PHP Tipps 2004 18 13.09.2004 13:25
[Erledigt] UPDATE Syntax problem Datenbanken 6 17.08.2004 16:18
[Erledigt] Query läuft nicht Datenbanken 6 13.08.2004 21:13
BIG UPDATE query... mrSpok Datenbanken 1 04.08.2004 13:06
mysql !!! Update problem!!! PHP Tipps 2004 2 18.07.2004 20:41

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php update query problem, php update query not working, update query does not work, update query

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:17 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.