Autor | Zpráva | ||
---|---|---|---|
hunter_dave Profil |
#1 · Zasláno: 6. 12. 2012, 22:55:20
Zdravím,
už si vážně nevím rady. Potřeboval bych mySQL dotaz, který by dokázal abecedně seřadit výpis z databáze podle údajů jiné tabulky než té ze které vypisuji. Příklad: Tabulka auta: id | název | ridic 1 | auto1 | 2 2 | auto2 | 1 Tabulka ridici: id | název 1 | petr 2 | adam Bohužel něco jako : SELECT * FROM auta ORDER BY ridici.nazev nefunguje
Dokázal by mi někdo pomoct? |
||
juriad Profil |
#2 · Zasláno: 6. 12. 2012, 22:58:14
SELECT auta.* FROM auta JOIN ridici ON auta.ridic = ridici.id ORDER BY ridici.nazev |
||
hunter_dave Profil |
#3 · Zasláno: 6. 12. 2012, 23:05:29
diky moc :) .. ještě bych potřeboval pomoc s tím když cizí klíč je umístěn v jiné tabulce
To znamená: auta: id | nazev 1 | auto1 2 | auto2 auta-vs-ridici: auto | ridic 1 | 2 2 | 1 ridici: id | název 1 | petr 2 | adam |
||
Kajman Profil |
#4 · Zasláno: 6. 12. 2012, 23:08:21
Uděláte obdobně další join s odpovídající vazební podmínkou.
auta JOIN `auta-vs-ridici` ar ON auta.id = ar.auto JOIN ridici ON ar.ridic = ridici.id |
||
hunter_dave Profil |
diky moc oboum :) hodne jste mi pomohli
Přece jenom ještě potřebuju vyřešit malý problém, dalo by se nějak do toho sql příkazu přidat aby se bral jenom první řidič z té tabulky .. v případě že k autu je přiřazeno více řidičů Jde pouze o seřazení .. chtěl bych to řadit podle jména prvního přiřazeného řidiče |
||
juriad Profil |
mohlo by fungovat následující
SELECT auta.* FROM auta JOIN `auta-vs-ridici` ar ON auta.id = ar.auto JOIN ridici ON ar.ridic = ridici.id GROUP BY auta.id # jeden záznam pro každé auto ORDER BY MIN(ridici.nazev) |
||
hunter_dave Profil |
#7 · Zasláno: 7. 12. 2012, 01:14:09
Díky moc, to je přesně to co jsem potřeboval :) .. ušetřil jste mi spoustu času, nevěděl jsem si rady.
|
||
Časová prodleva: 11 let
|
0