View Single Post
Hei, jeg er ikkje veldig erfaren innen MySQL eller andre relasjonsdatabaser bortsett fra at jeg vet hvordan jeg bruker basic queries som SELECT, INSERT, UPDATE, DELETE, CREATE... osv. Men jeg har støtt på et litt mer avansert problem, der jeg har behov for en query som er litt mer avansert enn hva de basic kunnskapene mine kan lage. Eller jeg kan gjøre det med 16 enkle queries eller 8 mer avanserte. Men for å gjøre vedlikeholdet enklest mulig samt minst mulig scripting så håper jeg dere freaker kan bistå med å skrive et eksempel jeg kan bruke til å forstå hvordan dette foregår. Jeg har "tegnet" et eksempel på en relasjonsmodel i MySQL workbench, med 3 tabeller. Selve problemet jeg har består av 8 tabeller, men prinsippet er det samme, og jeg har jo ikkje tenkt å la dere freaker gjøre arbeidet for meg, alt jeg trenger er bare en veiledning i riktig retning.

Modellen ser slik ut:
http://i.imgur.com/VCTXOiY.png

Slik jeg ser det, så må dette gjøres med 6-8 queries:

1. SELECT'e data fra tabel1 og kontrollere om den finnes fra før.
2. Hvis data'en ikkje finnes INSERT'e data.
3. Hvis data'en ble INSERT'et: SELECT'e id'en.
4. SELECT'e data fra tabel2 og kontrollere om den finnes fra før.
5. Hvis data'en ikkje finnes INSERTE'e data.
6. Hvis data'en ble INSERT'et: SELECT'e id'en
7. SELECT'e data fra tabel3 og kontrollere om den finnes fra før.
8. Hvis data'en ikkje finnes INSERT'e data og bruke id'er fra steg 1 | 3 og 4 | 6.

Men det må finnes en enklere måte å gjøre dette på?