[ Príspevkov: 10 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.02.07
Prihlásený: 06.02.07
Príspevky: 7
Témy: 1 | 1
NapísalOffline : 02.02.2007 8:46 | ako na tento select?

Nazdar, dostal som taku domacu ulohu :D 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... ;)


Offline

Skúsený užívateľ
Skúsený užívateľ
ako na tento select?

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1756
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 02.02.2007 13:38 | ako na tento select?

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.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.02.07
Prihlásený: 06.02.07
Príspevky: 7
Témy: 1 | 1
Napísal autor témyOffline : 05.02.2007 13:33 | ako na tento select?

vdaka za riesenie, ale zabudol som napisat, ze sa to pokusam urobit len pomocou SQL skriptu(ucim sa totiz Oracle) :roll:


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.02.07
Prihlásený: 06.02.07
Príspevky: 7
Témy: 1 | 1
Napísal autor témyOffline : 05.02.2007 14:40 | ako na tento select?

ok, vyriesene...dik za ochotu


Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
ako na tento select?

Registrovaný: 01.05.05
Príspevky: 13413
Témy: 1494 | 1494
Bydlisko: Bratislava
NapísalOffline : 05.02.2007 14:40 | ako na tento select?

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 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X250 & Microsoft Windows 11 Professional | iPhone 15 Pro 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 24.04.1 LTS
Offline

Skúsený užívateľ
Skúsený užívateľ
ako na tento select?

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1756
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 05.02.2007 16:13 | ako na tento select?

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.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.02.07
Prihlásený: 06.02.07
Príspevky: 7
Témy: 1 | 1
Napísal autor témyOffline : 05.02.2007 16:14 | ako na tento select?

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


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.02.07
Prihlásený: 06.02.07
Príspevky: 7
Témy: 1 | 1
Napísal autor témyOffline : 05.02.2007 16:23 | ako na tento select?

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 :rolleyes: )


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.02.07
Prihlásený: 06.02.07
Príspevky: 7
Témy: 1 | 1
Napísal autor témyOffline : 06.02.2007 8:17 | ako na tento select?

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


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 02.02.07
Prihlásený: 06.02.07
Príspevky: 7
Témy: 1 | 1
Napísal autor témyOffline : 07.02.2007 8:33 | ako na tento select?

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


 [ Príspevkov: 10 ] 


ako na tento select?



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

select tento tyzden, nasledujuci tyzden

v Databázy

22

1477

03.01.2011 13:17

miro-boss

V tomto fóre nie sú ďalšie neprečítané témy.

ako stiahnut tento koncert ako mp3?

v Audio programy

3

612

27.11.2020 22:20

patro16

V tomto fóre nie sú ďalšie neprečítané témy.

ako zmenit vystup - select mysql

v PHP, ASP

3

578

29.07.2008 8:02

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

Ako automaticky presúvať políčka elementu <select> podľa obľúbenosti

v HTML, XHTML, XML, CSS

1

496

12.11.2016 9:58

BX

V tomto fóre nie sú ďalšie neprečítané témy.

Ako na zabranenie zmeny moznosti v <select>e

v HTML, XHTML, XML, CSS

3

440

31.03.2010 18:42

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

Ako nastavit velkost pisma vo volbach <select>u

v HTML, XHTML, XML, CSS

2

817

03.03.2011 21:12

johnny04501

V tomto fóre nie sú ďalšie neprečítané témy.

AKO NA TENTO BIOS

v Biosy a ladenie výkonu

2

739

16.08.2007 21:11

0r0l

V tomto fóre nie sú ďalšie neprečítané témy.

ako na tento dotaz

v Databázy

3

785

21.06.2009 18:04

p360t

V tomto fóre nie sú ďalšie neprečítané témy.

Ako hodnotite tento NB?

v PC zostavy

10

587

17.03.2008 13:43

mimkork

V tomto fóre nie sú ďalšie neprečítané témy.

Ako nastavit tento datepicker

v JavaScript, VBScript, Ajax

7

834

30.11.2017 13:46

unset(array[0])

V tomto fóre nie sú ďalšie neprečítané témy.

ako na tento procak?

v Chladiče a všetky druhy chladenia

2

819

20.10.2006 15:03

looser

V tomto fóre nie sú ďalšie neprečítané témy.

AKO na tento panel?

v Operačné systémy Microsoft

3

516

27.04.2007 20:48

Devil_SK

V tomto fóre nie sú ďalšie neprečítané témy.

Ako rozobrat tento sifon?

v Život, životný štýl, móda, bývanie

3

740

21.06.2017 15:37

4040

V tomto fóre nie sú ďalšie neprečítané témy.

Ako sa volal tento film?

v Kultúra, umenie, filmy, hudba, história, média

17

1744

22.05.2008 17:35

sairik

V tomto fóre nie sú ďalšie neprečítané témy.

Ako sa vola tento uces?

v Život, životný štýl, móda, bývanie

12

1092

11.07.2009 19:41

majky358

V tomto fóre nie sú ďalšie neprečítané témy.

ako sa vola tento script

v JavaScript, VBScript, Ajax

1

564

07.02.2010 13:37

rooobertek



© 2005 - 2024 PCforum, edited by JanoF