Autor | Zpráva | ||
---|---|---|---|
Darth-Cz- Profil * |
#1 · Zasláno: 23. 1. 2010, 17:38:12
Dobrý den,
chtěl bych vás poprosit o pomoc s následujícím problémem: Mám dvě tabulky v relaci N:M, tudíž jsem vytvořil třetí a nyní bych chtěl vybírat z databáze data pomocí inner join, ale nejde mi to :( Tabulky jsou tyto: tabulka testy, která má v sobě id tabulka otazky, ktera má v sobě id a třetí spojovací tabulka s názvem testy_otazky, ve které jsou atributy testy_id a otazky_id. Řekněme, že znám id testu a podle něj chci vybrat data z tabulky otazky. Zkoušel jsem to takto: SELECT otazky.otazka from otazky inner join testy_otazky on testy_otazky.testy_id = 23 Ale to mi zobrazí všechny otázky z tabulky otázky a dokonce vícekrát. Mělo by to vybrat jen 2 otazky, a to s id 1 a 2, jelikož záznamu testy_id = 23 odpovídají záznamy otazky_id = 1 a otazky_id = 2. Nevíte někdo, jak na to? Za odpověď moc děkuji. |
||
TomášK Profil |
#2 · Zasláno: 23. 1. 2010, 18:50:18
SELECT otazky.otazka FROM otazky JOIN testy_otazky ON testy_otazky.otazka_id = otazky.id WHERE testy_otazky.testy_id = 23; |
||
Darth-Cz- Profil * |
#3 · Zasláno: 23. 1. 2010, 19:02:53
TomášK:
Díky moc. Tohle funguje skvěle. Ještě bych se chtěl zeptat při této příležitosti, jak by vypadal dotaz, kdyz bych chtěl vybírat data zároveň z tabulky testy, tj spojili by se tři tabulky. Za odpověď děkuji |
||
TomášK Profil |
#4 · Zasláno: 23. 1. 2010, 19:07:07
SELECT otazky.otazka, testy.test FROM otazky JOIN testy_otazky ON testy_otazky.otazky_id = otazky.id JOIN testy ON testy.id = testy_otazky.testy_id WHERE testy_otazky.testy_id = 23; |
||
Darth-Cz- Profil * |
#5 · Zasláno: 23. 1. 2010, 19:19:45
TomášK:
Díky moc :) |
||
Časová prodleva: 14 let
|
0