Table A
A.id
A.data - Tyyppi mikä tahansa
Table B
B.id
A.id
B.data - Tyyppi mikä tahansa
Table C
C.id
A.id
C.data - Tyyppi mikä tahansa
Onko mitenkään mahdollista yhdellä kyselyllä hakea A.id:n perusteella B.data ja C.data (Huom! B.data ja C.data voivat olla eri tietotyyppiä [int, text, jne.])?
Myöhemmin, jos lisäisin B:n ja C:n kaltaisen tietueen, niin tämän saman haun pitäisi automaattisesti hakea myös siitä A.id:n perusteella.
Mielivaltaista tietoa ei voi hakea automaattisesti, vaan joka tapauksessa pitää kirjoittaa kyselyyn ainakin taulut ja yleensä myös liitosehdot. Käytännössä kyselystä voi tulla tällainen:
SELECT * FROM A LEFT JOIN B on B.A_id = A.id LEFT JOIN C on C.A_id = A.id
Kysymyksestä jäi epäselväksi, ovatko kaikki liitokset 1:1-liitoksia; jos ovat, olisi helpompi käyttää kaikissa tauluissa samaa id:tä, jolloin kyselyn voisi kirjoittaa myös näin:
SELECT * FROM A LEFT JOIN B USING (id) LEFT JOIN C USING (id)
1:1-tapauksessa on myös harkitsemisen arvoista, tarvitaanko useaa taulua ollenkaan.
Tietotyypit vaikuttavat MySQL:ssä kyselyihin varsin vähän.
Aihe on jo aika vanha, joten et voi enää vastata siihen.