phpbar.de logo

Mailinglisten-Archive

importscript (war: alternative zu joins ?)

importscript (war: alternative zu joins ?)

Cybot 4t2.com-mysql at tekkno4u.de
Die Feb 4 22:39:41 CET 2003


du könntest ja _nur_ zum import die daten in zwei tabellen teilen!

1. import wavi daten per csv in tabelle
2. alter table um die zusätzlichen spalten der 'web'-tabelle zu erstellen
3. update von 'web' auf 'wavi'

bei aktualisierung der wavi daten:

1. create temp-'web'-tabelle mit select [nur die web daten] von 
'web-wavi'-tabelle
  - CREATE TEMP TABLE ... SELECT ....
2. drop (oder truncate) 'web-wavi'-tabelle
3. create 'web-wavi' vom csv von deinem warenwirtschafts-system
4. update der 'webwavi'-tabelle mit den daten aus der temp-'web'-tabelle
  - ab mysql4.04 mit nem UPDATE über zwei tabellen
  - oder halt mit zwei statemenst wenns ne alte mysql ist

oder:

3. create temp-'wavi' vom csv von deinem warenwirtschafts-system
4. create von beiden temp-tabellen
  - CREATE TABLE WEB-WAVI ... SELECT ... FROM TEMP-WEB LEFT JOIN 
TEMP-WAVI ...


das müsste ja relativ einfach gehen, oder ned?

vorrausgesetzt ich habe deine emails bisher richtig mitgelesen
und der primary-key ist 'artnr_neu' bei beiden daten ('web' und wavi')
und nicht irgendwas anderes kompliziertes

auf jeden fall scheint das die einfachste möglichkeit zu sein alle daten 
in eine tabelle zu bekommen bei einem relativ einfachen import


Nikolas Hagelstein wrote:
> Hi,
> 
> so ...
> nach dem sich mein letztes Problem ja auf die Suche ueber mehrer
> Tabellen zurueckfuehren liess. Ueberlege ich es zu
> loesen indem ich 2 tabellen zu einer flatte.
> 
> 
> Nochmal zur Errinnerung:
> ---------
> Also:
> Ein teil der artikeldaten kommen aus einer Warenwirtschaft.
> Ein anderer muss manuell geflegt werden, wie z.b. ein Webzeichung etc.
> Deshalb hab ich das getrennt, um beim import einfach die erste tabelle
> droppen zu koennen.
> 
> Wuerde ich das alles in eine Tabelle packen, waeren beim Import eine
> Reihe von Fallunterscheidungen notwendig, naemlich,
> wenn artikel bereits vorhanden, dann update der aenderlichen felder.
> Falls nicht insert.
> Das waeren dann pro Artikel min 1 query ...statt einfach nem cvs import.
> Und dann muss ich mich natuerlich noch um die rausgeflogenen Artikel
> kuemmern.
> -------
> 
> Problem erkannt ?
> Also die einzige Moeglichkeit die mir dazu einfaellt is mittels Perl oder
> aehnlich
> die Eingangs CVSdatei zu parsen und n lockup auf die Artikeltabelle zu
> machen, um rausszufinden
> ob es den artikel schon gibt oder nicht.
> Falls nicht schreib ich n INSERT raus, falls ja ein UPDATE.
> Ein Replace faellt ja leider aus, da Teile der artikeldaten ausschliesslich
> im Web gepflegt
> werden.
> Eine weitere Huerde is das erkennneb von Artikel,die nicht mehr in der
> EingangsCVS sind.
> Dazu faellt mir nur ein alle geaendertetn/neuhinzugekommen artikel mit dem
> importdatum
> anzuflagen und Mittels GC-routine alte sachen zu loeschen oder
> sicherheitshalber auf
> versteckt zu setzen.
> 
> Jemand ne bessere Idee ?
> 
> Gruesse,
> 			niko
> 
> 
> 
> 
> 

-- 
Sebastian Mendel

info at sebastianmendel.de

www.sebastianmendel.de
www.tekkno4u.de
www.nofetish.com

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive