Autor | Zpráva | ||
---|---|---|---|
katamaran Profil * |
#1 · Zasláno: 10. 12. 2007, 14:18:22
Nazdar,
ako mam spravit dopyt na tieto tabulky ----------------- ZAMESTNANCI ----------------- Column Name DataType Nullable Default Primary Key ID NUMBER No - 1 MENO VARCHAR2(25) No - - PRIEZVISKO VARCHAR2(25) No - - ----------------- ZASIELKA ----------------- Column Name DataType Nullable Default Primary Key ID NUMBER No - 1 ID_ZAMESTNANEC NUMBER No - - tak aby vysledna tabulka vyzerala takto: MENO PRIEZVISKO POCET_ZASIELOK skusal som to cez joiny a pouzil som tam group by na ID_ZAMESTNANEC a count na ZASIELKA.ID ale stale mi vypisuje ze podla toho stlpca nemozem robit GROUP BY Moze mi niekto napisat query ako by to malo vyzerat. Dikes |
||
Kajman_ Profil * |
#2 · Zasláno: 10. 12. 2007, 15:41:05
select z.meno, z.prezvisko, count(b.id) pocet_zasielok from zamestanci z left join zasielka b on z.id=b.id_zamestnanec
group by z.id, z.meno, z.prezvisko |
||
katamaran Profil * |
#3 · Zasláno: 10. 12. 2007, 18:09:53
ok diky pomohlo...
este mi mozes povedat ako zvisim timestamp o jeden mesiac ? lebo ak dam timestamp + 30 tak mi to zvisi o 30 dni ale nebude to dobre ak mesiac bude mat 31 dni dik |
||
katamaran Profil * |
#4 · Zasláno: 10. 12. 2007, 18:14:47
proste chcel by som nieco take aby
select z.meno, z.priezvisko, count(b.id) pocet_zasielok from zamestnanci z left join zasielka b on z.id=b.id_zamestnanec group by z.id, z.meno, z.priezvisko order by pocet_zasielok desc where b.cas_odoslania > (select systimestamp - "MESIAC" from dual ); |
||
Kajman_ Profil * |
#5 · Zasláno: 10. 12. 2007, 22:00:43
Pokud je to oracle, tak zkuste add_months, pokud pg tak možná systimestamp - interval '1 month'.
|
||
katamaran Profil * |
#6 · Zasláno: 10. 12. 2007, 23:01:24
ano robim to v oracle,
spravil som to takto: select z.meno, z.priezvisko, count(b.id) pocet_zasielok from zamestnanci z left join zasielka b on z.id=b.id_zamestnanec group by z.id, z.meno, z.priezvisko, b.cas_odoslania order by pocet_zasielok desc where b.cas_odoslania > (select add_months(systimestamp, -1) from dual); ale nechapem preco to nefunguje, ked dam osobitne select add_months(systimestamp, -1) from dual tak to vypise vporiadku, ale ked to len spojim s where tak mi vypise ORA-00933: SQL command not properly ended |
||
Kajman_ Profil * |
#7 · Zasláno: 10. 12. 2007, 23:22:53
tak dejte jednoduše
where b.cas_odoslania > add_months(systimestamp, -1) |
||
katamaran Profil * |
#8 · Zasláno: 10. 12. 2007, 23:51:22
no skusam to takto
select z.meno, z.priezvisko, count(b.id) pocet_zasielok from zamestnanci z left join zasielka b on z.id=b.id_zamestnanec group by z.id, z.meno, z.priezvisko order by pocet_zasielok desc where b.cas_odoslania > add_months(systimestamp, -1); ale stale vypisuje ORA-00933: SQL command not properly ended |
||
Kajman_ Profil * |
#9 · Zasláno: 11. 12. 2007, 00:07:08
where musí být před group by
možná by to mohlo jít takto select z.meno, z.priezvisko, count(b.id) pocet_zasielok from zamestnanci z, zasielka b where b.cas_odoslania > add_months(systimestamp, -1) and z.id=b.id_zamestnanec group by z.id, z.meno, z.priezvisko order by 3 desc |
||
katamaran Profil * |
#10 · Zasláno: 11. 12. 2007, 00:09:52
velmi pekne dakujem... babral som sa tu s tym cely den... uz to ide
|
||
Časová prodleva: 16 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0