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

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

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


 

Aktuelle PHP Scripte

EJS TreeGrid ansehen EJS TreeGrid

EJS TreeGrid is DHTML component written in pure JavaScript to display and edit data in table, grid, tree view or grid with tree on HTML page

09.04.2019 coqsoft@ | Kategorie: JAVASCRIPT/ Components
Suchmaschine redaktionell, Branchenportal zum Geld verdienen

Programmbeschreibung Die Bezahl-Suchmaschine ist in Perl und PHP programmiert (eigenes CGI-Verzeichnis notwendig), benötigt PHP aber keine MySQL-Datenbank. Webmaster haben mit dieser Suchmaschine neben der normalen kostenlosen Registrierung von Lin

06.04.2019 skripte@ | Kategorie: PHP/ Suchmaschinen
Oog Photo-Video-Gallery

Mit Oog Photo-Gallery können Sie einfach und stilvoll Bilder (auch Video & Audio) auf Ihrem PHP5-Webserver veröffentlichen und verwalten. Lizenz: GNU GPL v2

06.04.2019 trottbrand@ | Kategorie: PHP/ Bilder
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:37 Uhr.