Toon posts:

[MySQL] Waarden 2 kolommen vergelijken?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een nieuwe database gemaakt, die de volgende tabellen bevat:

actors:
actor
imdb

actorfilm:
film
actor
rank

Wanneer ik een record toevoeg aan actorfilm wil ik controleren of de acteur voorkomt in de tabel actors. Voorbeeld:

10,Vin Diesel,1

Nu moet er gecontroleerd worden of Vin Diesel voorkomt in actors.actor.

Wanneer dit niet het geval is moet Vin Diesel worden toegevoegd aan actors.

Mijn vraag is dus of dit mogelijk is in MySQL en of iemand mij misschien kan verwijzen naar een handige link waar ik erachter kan komen hoe ik dit zou kunnen realiseren.

Iets als:
SELECT actorfilm.actor
FROM actorfilm, actors
WHERE actorfilm.actor <> actors.actor

werkt natuurlijk niet.

Zoals jullie kunnen zien ben ik redelijk nieuw met MySQL.

Ik hoop dat iemand mijn op weg kan helpen. Als ik het probleem nog niet duidelijk genoeg heb beschreven dan hoor ik het wel.

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 14-07 14:28

thomaske

» » » » » »

Het is niet echt duidelijk wat je wilt.
- wil je alleen kijken of of er een entry in je actors tabel bestaat met de naam 'Vin Diesel'?

Verder:
• geef je velden wat duidelijkere namen:
tabel actors:
- wat is actor? de naam, een id?
- wat is imdb? een link? een id?

tabel actorfilm:
- wat is film? de naam? een id?
- wat is actor? een foreign key naar de actor tabel? of een naam? (als het laatste waar is, moet je je datamodel nog eens goed nakijken)

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • Coltrui
  • Registratie: Maart 2001
  • Niet online

Coltrui

iddqd

Kan je "IF EXISTS(SELECT blabla...)" niet gebruiken in MySQL?

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 14-07 14:28

thomaske

» » » » » »

Wezen schreef op 06 maart 2003 @ 15:16:
Kan je "IF EXISTS(SELECT blabla...)" niet gebruiken in MySQL?
Nope.. Mysql (3.?) ondersteunt geen subqueries

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Verwijderd

Topicstarter
Ik was een pagina op www.mysql.com aan het bekijken en toen zag ik iets wat ik precies nodig heb. Dat heb ik omgezet naar:

SELECT actorfilm.actor
FROM actorfilm
LEFT JOIN actors
ON actorfilm.actor=actors.actor
WHERE actors.actor IS NULL

problem solved

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Select count(actors.actor) from actors where actors.actor='naampje acteur';

Op jouw manier ga je eerst een film toevoegen dan kijken of de acteur bestaat, in een relationele database krijg je uiteraard meteen een error terug omdat de acteur niet bestaat, wil je een beetje compatible blijven zal je toch echt eerst moeten controleren of de acteur reeds bestaat of niet, zo niet toevoegen, zo wel kan je meteen de actorfilm toevoegen.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1