php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 05-03-2008, 11:03
tomtherock
 Registrierter Benutzer
Links : Onlinestatus : tomtherock ist offline
Registriert seit: Jun 2002
Ort: München
Beiträge: 334
tomtherock ist zur Zeit noch ein unbeschriebenes Blatt
Standard SELECT mit UPDATE

Hi Leute,

hab hier leider nix gefunden auch nicht im Manuel nur FOR UPDATE aber
das hat glaub mit meinem Anliegen nix zu tun.

Folgendes:
Ich hab eine einfach Abfrage, diese Betroffenen Datensätze will ich nun
manche Felder in einer anderen Tabelle Update.

SELECT email,vorname, nachname, interessen, geburtsdatum,
FROM s_interessenten
WHERE typ = 't'
AND datum < '2008-03-05'

=> die interessen und geburtsdatum will ich jetzt zb in die Tabelle
s_kunden updaten und anhand der email adresse identifizieren

Bei ner einfach INSERT bekomm ich das ja wunderbar hin:

INSERT INTO [TABLE] (FELDER1,FELDER2)
SELECT * FROM [TABLE] FELDER1,FELDER2
WHERE test = 1
usw....

die Frage ist funktioniert so was auch mit nem UPDATE Befehl? bzw SELECT
mit Subqueries?

Ich hab das bisher halt immer meinen SELECT mit PHP ausgelesen und
dann jeden Betroffenen Datensatz upgedated...is halt umständlich wie ich
find und denke mir das es mit dem DB Server bestimmt schneller geht.
Mit Zitat antworten
  #2 (permalink)  
Alt 05-03-2008, 11:12
Bugbuster
 PHP Junior
Links : Onlinestatus : Bugbuster ist offline
Registriert seit: Mar 2003
Ort: Hamm
Beiträge: 658
Bugbuster ist zur Zeit noch ein unbeschriebenes Blatt
Standard

o_O ? Ja, du kannst UPDATE mit WHERE bedingungen nutzen und ja du kannst Subquery's in UPDATE benutzen. Was hast du vor? Redundanzen schaffen? Die Interessen noch wo anders hin kopieren? Ich erkenn grad keine Logik.

mfg
bugbuster
__________________
tutorial: peterkropff.de schattenbaum.de tut.php-quake.net
documentation: php.net mysql.com framework.zend.com

Die Nachtwache!

Geändert von Bugbuster (05-03-2008 um 11:15 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 05-03-2008, 11:27
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das dürfte folgendermassen gehen:
PHP-Code:
UPDATE 
    s_kunden k
,
    
s_interessenten i
SET 
    k
.interessen i.interessen,
    
k.geburtsdatum i.geburtsdatum
WHERE 
    k
.email i.email 
Den Sinn dieser Aktion sehe ich allerdings auch nicht ein.
__________________
Gruss
H2O
Mit Zitat antworten
  #4 (permalink)  
Alt 05-03-2008, 11:27
tomtherock
 Registrierter Benutzer
Links : Onlinestatus : tomtherock ist offline
Registriert seit: Jun 2002
Ort: München
Beiträge: 334
tomtherock ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ja also ist etwas kompliziert

Ich will einfach einen SELECT machen auf tabelle A und die betroffenen
Datensätze mit der tabelle B in Bezug setzten => email

Alle die ich in Bezug setzten kann will ich zb bestimmte Felder wie Interessen oder Geburtsdatum "übertragen" bzw in diesem Fall updaten
weil diese ja schon vorhanden sind. ( der Kunden mit der email adresse, die interessen und geburtsdatum felder sind noch leer zb oder veraltet)


Also zb:

SELECT interessen,geburtsdatum
FROM tabelle A as t1
WHERE t1.typ = 't'
AND t1.datum < now()
=> ( UPDATE tabelle B as t2 SET t2.interessen = t1.interessen WHERE t2.email = t1.email )

bisher hab ich halt einfach den SELECT mit mysql_fetch_object in ner
Schleife mit PHP ausgelesen dann die benötigten Felder ausgelsen
und dann den entsprechen UPDATE gemacht für jede ROW
Mit Zitat antworten
  #5 (permalink)  
Alt 05-03-2008, 11:39
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von tomtherock
Alle die ich in Bezug setzten kann will ich zb bestimmte Felder wie Interessen oder Geburtsdatum "übertragen" bzw in diesem Fall updaten
weil diese ja schon vorhanden sind.
Was macht denn meine Abfrage anderes?
Zitat:
Original geschrieben von tomtherock
die interessen und geburtsdatum felder sind noch leer zb oder veraltet
Das hat man davon, wenn man Daten redundant speichert
__________________
Gruss
H2O
Mit Zitat antworten
  #6 (permalink)  
Alt 05-03-2008, 11:39
tomtherock
 Registrierter Benutzer
Links : Onlinestatus : tomtherock ist offline
Registriert seit: Jun 2002
Ort: München
Beiträge: 334
tomtherock ist zur Zeit noch ein unbeschriebenes Blatt
Standard

super danke dir @H2O

ja den Sinn könnt ich Euch jetzt erklären wenn ihr wollt?

Dahinter steckt ne rießige Kundenerfassung inkl. Neu-Interessenten
sowie Newsletter Datenbank, aber wie gesagt könnte man bestimmt
besser lösen da ich aber auf ein Externes Programm angewiesen bin
muss ich da die Daten so aufbereitet
Mit Zitat antworten
  #7 (permalink)  
Alt 05-03-2008, 11:48
tomtherock
 Registrierter Benutzer
Links : Onlinestatus : tomtherock ist offline
Registriert seit: Jun 2002
Ort: München
Beiträge: 334
tomtherock ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Was macht denn meine Abfrage anderes?
Nichts ich hab nur Bugbuster zum gleichen Zeitpunkt geantwortet wie du
mir . Da hab ich die Lösung von dir noch nicht gesehen...
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

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