2 tabellen samenvoegen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Gerrit van weele

gerrit van weele

19/10/2023 15:13:21
Quote Anchor link
ik wil de data uit mijn oude website halen voor mijn nieuwe website.
ik heb dit geprobeerd met dbForge Studio for MySQL export naar access of excell, maar het probleem zit hem dat je een tabel, producten heb en een tabel product_inventories ( sku ) als ik dan de veld sku kopier naar producten dan komt het sku niet overeen met id en name, in product_inventories zit ook een product_id maar pfff weet ut eve niet meer

hoe kan ik dit het beste aanpakken, het gaat over meer dan 2000 artiekelen.

ik kan dit wel importeren in de nieuwe site (xls, xlsx, csv)


hoop dat iemand me kan helpen
Gewijzigd op 19/10/2023 23:44:17 door - Ariën -
 
PHP hulp

PHP hulp

21/11/2024 14:20:56
 
Ivo P

Ivo P

19/10/2023 15:18:22
Quote Anchor link
Wat heeft excel hier voor nut?

Maak gewoon een export met bijvoorbeeld Mysqldump en laat je data incl. de auto-increment kolommen wegschrijven als insert-query's.

Dan ga ik er wel vanuit dat je nieuwe database nog leeg is...

Zelf connect ik meestal met HeidiSQL om daarmee de data te exporteren, maar dan moet je wel remote kunnen connecten met de database(s)
 
Gerrit van weele

gerrit van weele

19/10/2023 15:37:19
Quote Anchor link
nieuwe db is leeg maar de tabel product heeft in de nieuwe geen sku veld en ik heb een id ( in de oude wil ik dus de sku naar de nieuwe doen ( hier heb ik wel een product_id) maar als ik dat bijv in access doe dan klopt het niet dan zijn bijv de eerst 100 goed en dan klopt het niet meer?

ik ben door omstandigheden een groot gedeelte geheugen kwijt maar probeer door vallen en opstaan toch weer mijn hobby op te pakken maar sorry hier ben ik eve totaal de weg kwijt.
 
Ivo P

Ivo P

19/10/2023 16:38:49
Quote Anchor link
Ik snap je verhaal niet.

Maar ik zou gewoon zorgen dat de tabellen gelijk zijn zodat je de data over kunt pompen.
 
Gerrit van weele

gerrit van weele

19/10/2023 16:49:58
Quote Anchor link
mijn oude website heeft iets meer dan 2000 producten nu wil ik deze in mijn nieuwe website zetten.
ik heb dus de oude db met producten en de nieuwe db met producten, alleen het verschil is dat het sku nr niet in de tabel producten staat ( oude db ) maar wel in de nieuwe db

dus nu heb ik oude website de tabel producten en product_invention gexporteerd naar een access file, en daar probeer ik de veld sku van product_invention te kopieren en te plakken in producten maar uhhhh dan komen naam en sku niet overeen

hoop dat je het nu een beetje snap wat ik bedoel
Gewijzigd op 19/10/2023 19:11:46 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

19/10/2023 17:12:19
Quote Anchor link
Hoezo ga je van MySQL over naar Access?
 
Gerrit van weele

gerrit van weele

19/10/2023 17:20:17
Quote Anchor link
dacht dat het dan makkelijker was maar dat is ut niet.
Gewijzigd op 19/10/2023 19:10:37 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

19/10/2023 17:22:04
Quote Anchor link
Het klinkt als een overbodige tussenstap? De nieuwe site gebruikt ook Mysql/MariaDB?
 
Ivo P

Ivo P

19/10/2023 18:18:24
Quote Anchor link
1) zorg dat beide tabellen gelijk zijn, of in elk geval op de nieuwe plek alle kolommen van de oude heeft, eventueel zelfs meer dan die kolommen.

2) update je tabel naar iets wat je wilt hebben:
UPDATE producten SET eenKolom = skuKolom WHERE 1=1

3) als dat gelukt is, verwijder je eventueel de betreffende kolom.

of als die SKU in een losse tabel staan (waarom zou dat logisch zijn?) dan doe je datzelfde met een UPDATE query met een JOIN erin.


Toevoeging op 19/10/2023 18:24:10:

enne
2000 producten is veel als je het over moet typen, maar voor een database is het weinig.

Ik heb hier een portal draaien met daarin 75000 producten.
Maar de tabel orders bevat 1.6 miljoen entry's met apart daarvan 4.5 miljoen regels voor die orders.

En dat is mi. nog steeds best klein, want dit gaat maar om alle bouwmarkten (en vergelijkbaar) in de benelux.
 
Gerrit van weele

gerrit van weele

19/10/2023 19:03:12
Quote Anchor link
ik ga dit eens proberen, is al een hele uitdaging voor mij.
sku zit helaas in een andere tabel.
maar in alvast bedankt.

Edit:
Ik heb een aantal berichten ingesnoeid van wat quotes omdat het niet nodig is om het eerst voorgaande bericht integraal te quoten. Zo blijft het topic beter leesbaarder.
Alvast bedankt!
Gewijzigd op 19/10/2023 19:11:38 door - Ariën -
 
Ivo P

Ivo P

20/10/2023 10:36:42
Quote Anchor link
ok:
er is een tabel met producten. Laat ik ervanuit gaan dat die "producten" heet en een id-kolom heeft
En er is een tabel product_inventories die een kolom sku bevat?

voegen we een kolom skuNieuw toe aan de tabel producten. (of er is een bestaande kolom die je daar mee wilt vullen. Bijvoorbeeld de kolom gewicht, of kleur. Hoe dan ook, in mijn voorbeeld noem ik dat ding skuNieuw.)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
UPDATE producten p
JOIN product_inventories pi ON pi.product_id = p.id
SET p.skuNieuw = pi.sku
WHERE (p.skuNieuw = '' OR p.skuNieuw IS NULL)


Het kan ook zijn dan product_inventories losse values bevat met een label erbij.

dus als product_inventories bevat de kolommen product_id, label en waardekolom (en evt een id)

Dan wordt het

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
UPDATE producten p
JOIN product_inventories pi ON pi.product_id = p.id AND pi.label = 'sku'
SET p.skuNieuw = pi.waardekolom
WHERE (p.skuNieuw = '' OR p.skuNieuw IS NULL)
 
Gerrit van weele

gerrit van weele

20/10/2023 18:46:19
Quote Anchor link
thanks dat was het, het is gelukt hoor.
moest het nog iets aanpassen maar het is gelukt.

nog even 1 vraag, ik heb een tabel producten en daarin zit een veld op_voorraad maar die staat op 0 kan ik die 2000 ook versneld op yes zetten.

bedankt
Gewijzigd op 20/10/2023 18:50:47 door gerrit van weele
 
- Ariën  -
Beheerder

- Ariën -

20/10/2023 18:47:34
Quote Anchor link
Fijn dat het werkt! :-)
 
Ivo P

Ivo P

21/10/2023 17:01:53
Quote Anchor link
Gerrit van weele op 20/10/2023 18:46:19:

nog even 1 vraag, ik heb een tabel producten en daarin zit een veld op_voorraad maar die staat op 0 kan ik die 2000 ook versneld op yes zetten.

bedankt


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
UPDATE producten
SET op_voorraad = 'yes'
WHERE op_voorraad = '0'


Waarbij ik als tegenhanger van 'yes' niet '0' maar eerder 'no' zou verwachten.
of omgekeerd dan op_voorraad 1 was als het artikel beschikbaar is, of misschien zelfs 25 zou bevatten als er nog 25 stuks in je magazijn klaar liggen (en nog niet besteld zijn)
 
Gerrit van weele

gerrit van weele

23/10/2023 19:00:49
Quote Anchor link
this allemaal gelukt, nogmaals thanks
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.