Autor | Zpráva | ||
---|---|---|---|
hal_sk Profil |
#1 · Zasláno: 6. 6. 2009, 21:54:59 · Upravil/a: hal_sk
Mám tabulku:
Id :: Meno :: Id_rodiny :: Je_hlavny_clen 1 :: Anna :: 2 :: 1 2 :: Jano :: 2 :: 0 3 :: Fero :: 1 :: 1 4 :: Maja :: 2 :: 0 5 :: Peto :: 3 :: 0 6 :: Palo :: 3 :: 1 Chcem aby to vypísalo hlavných členov rodiny s uvedeným počtom ostatných členov z ich rodiny. Čiže výsledok: Meno :: Pocet_clenov Anna :: 3 Fero :: 1 Palo :: 2 Ale neviem akým dotazom to dosiahnuť, prosím pomôžte. |
||
hal_sk Profil |
#2 · Zasláno: 6. 6. 2009, 23:13:55
Možno takýmto spôsobom, ale namiesto XXX treba dosadiť niečo, čo bude inkrementovať, počas naskakovania riadkov:
SELECT Meno,Id_rodiny,(SELECT COUNT(Id_rodiny) FROM tabulka WHERE Id_rodiny=XXX) as Pocet_clenov FROM tabulka |
||
TomášK Profil |
#3 · Zasláno: 7. 6. 2009, 10:32:03 · Upravil/a: TomášK
SELECT tabulka.jmeno, p.pocet_clenu FROM tabulka JOIN ( SELECT id, COUNT(*) AS pocet_clenu FROM tabulka GROUP BY id_rodiny ) AS p ON p.id = tabulka.id WHERE tabulka.je_hlavny_clen = 1 |
||
hal_sk Profil |
#4 · Zasláno: 7. 6. 2009, 11:42:31
TomášK
Ale potom je výsledok takýto: meno :: pocet_clenov Fero :: 1 Anna :: 3 |
||
TomášK Profil |
#5 · Zasláno: 7. 6. 2009, 14:15:36
Promiň, udělal jsem tam chybu - má se to vázat přes id_rodiny. Co takto?
SELECT tabulka.jmeno, p.pocet_clenu pocet_clenu FROM tabulka JOIN ( SELECT id_rodiny, COUNT(*) AS pocet_clenu FROM tabulka GROUP BY id_rodiny ) AS p ON p.id_rodiny = tabulka.id_rodiny WHERE tabulka.je_hlavny_clen = 1 |
||
hal_sk Profil |
#6 · Zasláno: 7. 6. 2009, 15:41:10
THX
|
||
Časová prodleva: 15 let
|
0