| | |
| Stránka: 1 z 1
| [ Príspevkov: 10 ] | |
Autor | Správa |
---|
Registrovaný: 02.02.07 Prihlásený: 06.02.07 Príspevky: 7 Témy: 1 |
Nazdar, dostal som taku domacu ulohu urobit select z jednej tabulky. Jedna sa o tabulku zamestnancov, ktora obsahuje stlpce(id_zamestnanca, meno, priezvisko, id_oddelenia, plat). Ako z nej vyberiem meno a priezvisko zamestnanca s najvyssim platom pre kazde oddelenie? Tak, ak sa niekto z vas bude chvilku nudit...
|
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 02.02.2007 13:38 | |
|
no niečo som skúšal, ale na menej ako 2 selecty to nespravím...
Kód: SELECT id_oddelenia, MAX( plat ) AS naj_plat FROM `platy` GROUP BY oddelenie ORDER BY naj_plat DESC
toto načítaš do poľa a spravíš malý trik - pomocou tých hodnôt zostavíš druhý SQL dopyt: Kód: foreach($pole as $key => $value){ $sql .= " plat ='{$value}' OR"; // spravime podmienku pre kazdu hodnotu platu } $sql=substr($sql, 0, strlen($sql)-3); // odstrihneme retazec " OR" za poslednym platom, lebo by to robilo zle
$result=mysql_query(" SELECT meno, priezvisko, id_oddelenia FROM `platy` WHERE ".$sql." ORDER BY plat DESC ");
a už to máš, už si to len vypíšeš...
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 02.02.07 Prihlásený: 06.02.07 Príspevky: 7 Témy: 1 | Napísal autor témy rokovic: 05.02.2007 13:33 | |
|
vdaka za riesenie, ale zabudol som napisat, ze sa to pokusam urobit len pomocou SQL skriptu(ucim sa totiz Oracle)
|
|
Registrovaný: 02.02.07 Prihlásený: 06.02.07 Príspevky: 7 Témy: 1 | Napísal autor témy rokovic: 05.02.2007 14:40 | |
|
ok, vyriesene...dik za ochotu
|
|
Registrovaný: 01.05.05 Príspevky: 13348 Témy: 1496 Bydlisko: Bratislava | Napísal JanoF: 05.02.2007 14:40 | |
|
rokovic píše: ok, vyriesene...dik za ochotu mohol by si to sem aj napisat, mozno niekto bude mat v buducnosti podobny problem tak aby tu nevznikalo dookola to iste
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server |
|
Registrovaný: 30.05.06 Prihlásený: 08.10.14 Príspevky: 1756 Témy: 35 Bydlisko: BA - WESTSIDE | Napísal p360t: 05.02.2007 16:13 | |
|
aha, no tak to je asi riešené na vyššej úrovni, ako moje databázové vedomosti každopádne aj ja som zvedavý na to riešenie...
_________________
A. S. Tanenbaum píše: The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice. |
|
Registrovaný: 02.02.07 Prihlásený: 06.02.07 Príspevky: 7 Témy: 1 | Napísal autor témy rokovic: 05.02.2007 16:14 | |
|
takze oraclu som to naserviroval takto:
Kód: select first_name, last_name, department_id, salary from hr.employees e1 where salary in (select max(salary) from hr.employees e2 where e1.department_id=e2.department_id group by e2.department_id) order by 3
funguje to, aj ked asi to pojde urobit aj jednoduchsie
|
|
Registrovaný: 02.02.07 Prihlásený: 06.02.07 Príspevky: 7 Témy: 1 | Napísal autor témy rokovic: 05.02.2007 16:23 | |
|
p360t píše: aha, no tak to je asi riešené na vyššej úrovni, ako moje databázové vedomosti každopádne aj ja som zvedavý na to riešenie...
ja som s databazami zacal len nedavno a tento selekt ma fakt dostal(a to sa mi na prvy pohlad zdal dost lahky )
|
|
Registrovaný: 02.02.07 Prihlásený: 06.02.07 Príspevky: 7 Témy: 1 | Napísal autor témy rokovic: 06.02.2007 8:17 | |
|
keby to niekoho zaujimalo mam tu este jedno elegantnejsie riesenie(zial nie z mojej hlavy )
Kód: select first_name,last_name, max_plat from hr.employees join (select department_id, max(salary) max_plat from hr.employees group by department_id) t on hr.employees.department_id = t.department_id and salary = max_plat
|
|
Registrovaný: 02.02.07 Prihlásený: 06.02.07 Príspevky: 7 Témy: 1 | Napísal autor témy rokovic: 07.02.2007 8:33 | |
|
a zoberie to aj dvojicu, tak to je uz uplne easy
Kód: select last_name, department_id, salary from hr.employees where (department_id,salary) in (select department_id, max(salary) from hr.employees group by department_id) order by 2
|
|
| Stránka: 1 z 1
| [ Príspevkov: 10 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| select tento tyzden, nasledujuci tyzden v Databázy | 22 | 1443 | 03.01.2011 13:17 miro-boss | | ako stiahnut tento koncert ako mp3? v Audio programy | 3 | 516 | 27.11.2020 22:20 patro16 | | ako zmenit vystup - select mysql v PHP, ASP | 3 | 544 | 29.07.2008 8:02 stenley | | Ako na zabranenie zmeny moznosti v <select>e v HTML, XHTML, XML, CSS | 3 | 409 | 31.03.2010 18:42 stenley | | Ako nastavit velkost pisma vo volbach <select>u v HTML, XHTML, XML, CSS | 2 | 786 | 03.03.2011 21:12 johnny04501 | | Ako automaticky presúvať políčka elementu <select> podľa obľúbenosti v HTML, XHTML, XML, CSS | 1 | 449 | 12.11.2016 9:58 BX | | ako na tento procak? v Chladiče a všetky druhy chladenia | 2 | 783 | 20.10.2006 15:03 looser | | AKO na tento panel? v Operačné systémy Microsoft | 3 | 485 | 27.04.2007 20:48 Devil_SK | | AKO NA TENTO BIOS v Biosy a ladenie výkonu | 2 | 702 | 16.08.2007 21:11 0r0l | | Ako rozobrat tento sifon? v Život, životný štýl, móda, bývanie | 3 | 693 | 21.06.2017 15:37 4040 | | Ako hodnotite tento NB? v PC zostavy | 10 | 556 | 17.03.2008 13:43 mimkork | | Ako nastavit tento datepicker v JavaScript, VBScript, Ajax | 7 | 774 | 30.11.2017 13:46 unset(array[0]) | | ako na tento dotaz v Databázy | 3 | 748 | 21.06.2009 18:04 p360t | | ako sa vola tento script v JavaScript, VBScript, Ajax | 1 | 521 | 07.02.2010 13:37 rooobertek | | ako je obmedzeny tento algoritmus v Assembler, C, C++, Pascal, Java | 0 | 285 | 11.11.2014 18:37 janik12333 | | existuje rok rovnaky ako tento? v Krčma | 8 | 1299 | 01.01.2008 12:25 twistik |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|