2 tabellen samenvoegen

Status
Niet open voor verdere reacties.

wojo00

Gebruiker
Lid geworden
23 jul 2002
Berichten
114
Hallo,

Ik heb 2 websites met elk een een mysql database, in beide databases zit een rij (tabel?) met email adressen die een ID hebben. Ik wil graag de rijen met email adressen samenvoegen in een nieuwe database zonder dubbele email adressen of ID's.

De ene website is een petitie website en de ander een goed doel met een vrijwilliger lijst. Voor onze nieuwsbrief willen wij graag een email sturen naar alle emails bekend bij ons. Helaas hebben wij weining kennis van mysql zodoende dat ik hier om hulp kom vragen.

Als iemand mij hier mee kan helpen dan zou dat echt te gek zijn. :thumb:
 
Heb je een database user die toegang heeft tot beide databases?

Dan zou je met behulp van een UNION statement data uit beide tabellen onder elkaar kunnen zetten, en je kunt met SELECT DISTINCT(email) ervoor zorgen dat er geen dubbelen uitkomen.
 
Hoi , dank je voor je reactie.

Ik heb een directadmin account en hier een paar websites op. Er is een gebruikersnaam /passwd waarmee ik kan inloggen op phpmyadmin en dan kan ik alle databases zien voor elke website.
Alle databases hebben ook een apparte eigen usernaam en password die gebruikt worden door scripts.

Ik heb zelf geen kennis van het maken van sql scripts en heb geen idee hoe ik de data uit beiden databases kan halen en importeren in een nieuwe (lege) database, of desnoods in een tabel van een bestaande.

Is het mogelijk om een script te plaatsen dat dit kan of is dat te veel gevraagd? :rolleyes: Ik heb zelf geen idee hoe moeilijk of hoeveel tijd het in beslag neemt om zoiets te maken dus mijn excuses als ik te veel vraag .

Bedankt voor je reactie in iedergeval!
 
Als je een user hebt op je directadmin die toegang heeft tot alle adressen zou je een query kunnen draaien door aan de linkerkant te zoeken naar de knop voor SQL invoer.

Dan krijg je een query die er ongeveer zo uitziet:

[sql]
SELECT DISTINCT(email)
FROM (
SELECT tabel1.email
FROM database1.tabel1
UNION
SELECT tabel2.email
FROM database2.tabel2 )
[/sql]

Ongeveer althans, ik weet de namen van je databases/tabellen niet die zou je zelf in moeten vullen en ik gebruik UNION weinig dus het kan zijn dat ik em fout heb... maar probeer het eens?
 
Na het eten ga ik het direct proberen. Zal eerst een backup maken voordat ik aan de slag ga ;)

He bedankt voor je hulp, wordt zeer gewaardeerd! :D
 
Nou ik kom er niet echt uit, de reden is dat ik niet zo goed weet wat ik moet vervangen in de code die je hebt geplaatst. Ik heb overigens wel de knop gevonden voor de sql invoer.

Ik heb even de database namen/gegevens opgezocht, wellicht dat dit helpt om de code goed te krijgen:

DATABASE 1
naamdb: humanhel_worldwide
naam tabel: hw_volunteer
naam rij: email
----
DATABASE 2
naamdb: humanhel_mpet
naam tabel: signature
naam rij: Email


Jou code zegt:

Code:
SELECT DISTINCT(email)
FROM (
SELECT tabel1.email
FROM database1.tabel1
UNION
SELECT tabel2.email
FROM database2.tabel2 )

Wat ik niet zo goed begrijp is wat er gebeurd met deze code. Worden alle adressen hier samengevoegd in 1 rij in database2?
 
Is dit correct?

[SQL]SELECT DISTINCT(email)
FROM (
SELECT hw_volunteer.email
FROM humanhel_worldwide.hw_volunteer
UNION
SELECT signature.Email
FROM humanhel_worldwide.Email )
[/SQL]

Het liefst zou ik alle emails willen hebben in database 1 (humanhel_worldwide / hw_volunteer / Email) overigens heeft de tabel hw_volunteer nog een paar andere rijen, hier een overzicht:

hw_volunteer:

- srno (id number)
- fname
- dob
- age
- country
- city
- address
- postcode
- telephone
- mobile
- email
- status

Ik weet nu niet of het slim is om alle emails te copieren naar bovenstaande tabel omdat deze meerdere rijen bevat. Nogmaals, enige hulp zou zeer gewaardeerd worden. :(
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan