Kezdőoldal » Számítástechnika » Weblapkészítés » Hogyan lehetne megírni egy...

Hogyan lehetne megírni egy ilyen SQL queryt?

Figyelt kérdés

lényegében 3 táblát szeretnék összekapcsolni,


user tábla felhasználók adatai


id

username

...


property tábla - a felhasznékük autói, több is lehet nekik


user

car


car tábla - autótípusok tulajdonságai


id

kerekekszama



Azokat a felhasználókat szeretném kilistázni, akiknek olyan autójuk van, ahol pl. a kerekekszama = 5



Ez egy lekérdezéssor része, így nem tudom megközelíteni úgy hogy a B tábla van a FROM után :(


Eddig ezzel próbálkoztam:


SELECT user.id AS id FROM user INNER JOIN property ON property.user = user.id AND property.car = car.id AND car.kerekekszama = '5'



2015. aug. 5. 22:35
 1/4 A kérdező kommentje:
A B tábla a property, csak közbe nevesítettem a táblákat hogy kézzelfogható legyen. :)
2015. aug. 5. 22:36
 2/4 anonim ***** válasza:

INNER JOIN ... ON után nem lehet AND! 1-1 mezőre vonatkozhat a két táblából. Ha több táblás kapcsolást szeretnél, többször kell INNER JOIN-t használni:


SELECT u.* FROM user u INNER JOIN property p ON p.user=u.id INNER JOIN car c ON c.id=p.car WHERE c.kerekszama='5'


(Ha a táblanév után írsz egy tetszőleges karaktersort, úgy is hivatkozhatsz a táblára, én így rövidítem a lekérdezéseimet, mert nem kell 10-szer leírni, hogy 'user', 'car', stb. Az u.* azt jelenti, hogy abból a táblából fogod megkapni az összes mezőt, ezt csak megszokásból írtam így.)

2015. aug. 5. 23:34
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:
Egyébként szerintem célszerű úgy csinálni, hogy az egyes ID-ket nem hívod máshogy táblánként. Legalábbis az én szemeimnek letisztultabbak a lekérdezések. Ezért pl. user_id a mező neve az user táblában is, és a property táblában is + car_id a propery táblában is, meg a car tablában is, úgyis ugyanarra vonatkozik 1-1 pár. Persze ez a működést semmiben nem befolyásolja.
2015. aug. 5. 23:39
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:
Hú, nagyon köszönöm, működik! :)
2015. aug. 6. 03:02

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!