php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.12.2011, 22:04  
Erfahrener Benutzer
 
Registriert seit: 09.07.2008
Beiträge: 577
PHP-Kenntnisse:
Anfänger
SteiniKeule kann nur auf Besserung hoffen
SteiniKeule eine Nachricht über ICQ schicken SteiniKeule eine Nachricht über Skype™ schicken
Standard Einträge vergleichen

Hallo

Ich habe eine Tabelle mit aktuellen Einträgen (Aktuell) und neuen Einträgen (Neu).
Jetzt möchte ich folgende Aufgaben so einfach wie nur möglich machen.
1. Ich möchte überprüfen welche Einträge aus Neu in Aktuell vorhanden sind. Wenn Sie vorhanden sind, möchte ich wissen ob die Zeilen 1:1 stimmen. Wenn nicht, dann möchte ich einen Wert in Aktuell ändern.

2. Es soll geprüft werden ob in Aktuell Einträge sind, die in Neu nicht vorhanden sind. Wenn ja, dann wird ein Wert geändert.

3. möchte ich prüfen, welche Einträge in Neu vorhanden sind, aber in Aktuell nicht. Diese sollten dann in Neu geändert werden.

Ich möchte diese Schritte alle in SQL lösen, da es für PHP zu viel wäre und einfach zu lange dauern würde.

Meiner ersten Versuche waren ein paar Joins, ist aber nichts dabei raus gekommen. Dann hab ich das noch mal alles geändert und wollte es mit SubQuerys machen. Wobei mir dabei auch nichts eingefallen ist, was wirklich Sinn machen würde.

Hiermit wollte ich alle Einträge von neu auslesen und mit aktuell vergleichen. Wenn ID vorhanden ist, soll nichts passieren. Wenn nicht, soll die Zeile von neu nach aktuell kopiert werden und dann den Status auf neu setzen.
Code:
SELECT * FROM Neu AS t1 
IF(ID = (SELECT ID FROM aktuell AS t2 WHERE ID = t1.ID),
'',
(INSERT INTO t2 
(ID, Name, Wert1, Wert2,)
SELECT ID, Name, Wert1, Wert2  FROM t1 WHERE ID = t1.ID)
UPDATE t2 SET status= 'neu');
Ich bin für jede Hilfe dankbar.
__________________
Der Unterschied zwischen dem richtigen Wort und dem beinahe richtigen ist derselbe Unterschied wie zwischen dem Blitz und einem Glühwürmchen.
SteiniKeule ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 19.12.2011, 00:28  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.266
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Also t2 kannst du als Alias so nicht verwenden, waer mir zumindest neu.

Hilft dir denn ggf. INSERT INTO .. ON DUPLICATE KEY UPDATE etwas?
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 19.12.2011, 00:31  
Erfahrener Benutzer
 
Registriert seit: 07.06.2008
Beiträge: 992
PHP-Kenntnisse:
Fortgeschritten
Frank befindet sich auf einem aufstrebenden Ast
Frank eine Nachricht über ICQ schicken Frank eine Nachricht über MSN schicken Frank eine Nachricht über Yahoo! schicken
Standard

Ansonsten wird das wohl ein Fall für TSQL, wenn du kein PHP (o.ä.) nutzen möchtest
__________________
Frank 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
SQL Einträge doppelt meerwasser PHP Einsteiger 7 24.06.2011 19:58
[Erledigt] Array vergleichen ePole PHP Einsteiger 10 14.06.2011 16:44
[Erledigt] 2 Arrays vergleichen und doppelte einträge löschen Cector PHP Einsteiger 2 07.03.2011 20:10
[Erledigt] Doppelte Einträge herausfinden skandler Datenbanken 5 24.08.2010 22:33
Einträge von Zellen in zwei Spalten vergleichen aschunk Datenbanken 2 30.04.2010 05:17
[GELÖST] MySQL Einträge per PHP sortieren Pastafari PHP Tipps 2009 3 25.09.2009 10:19
[Erledigt] Einträge in Kategorien anzeigen $gast PHP Tipps 2009 7 06.08.2009 11:36
[Erledigt] Dauer in ISO 8601 Format vergleichen eaphpuni PHP Tipps 2009 10 12.05.2009 19:44
[Erledigt] 50 Einträge und dann weiter klicken und wieder 50 Einträge stallone PHP Tipps 2009 7 18.04.2009 20:31
Datenbank Einträge Offline Setzen... noxx Datenbanken 9 25.01.2009 12:32
Anzahl der Einträge einer MySQL-Tabelle Datenbanken 8 19.06.2006 19:14
Gibt nicht alle DB Einträge aus... PHP Tipps 2007 1 27.12.2005 09:38
nur neue Einträge laden, alte sollen bleiben PHP Tipps 2005 10 21.02.2005 22:38
Nur 123 Einträge passen in eine DB Tabelle?? Dueperthal PHP Tipps 2004-2 4 28.11.2004 20:32
Hielfe: WIE neue DB Einträge zählen& farbig markieren??? Datenbanken 2 20.07.2004 12:16


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:15 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