Kezdőoldal » Számítástechnika » Programozás » SQL segítség? Megy a zöld

SQL segítség? Megy a zöld

Figyelt kérdés

SQL-ben hogyan kell lekérdezni, hogy kik keresnek kevesebbet mint, xy munkakörének az átlaga?

Adatbázis tábla:dolgozo(név, munkakör, munkábaAllas, fizetés, jutalék, munkakod)

Tegnap mindenhogyan próbáltam de sehogy sem jött össze. Előre is köszi a válaszokat!



2023. máj. 12. 07:18
 1/5 anonim ***** válasza:
46%
2023. máj. 12. 07:21
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:
100%

Amit #1-es írt nem elég, mivel a kalkulált átlaggal kell összehasonlítanod a fizetés mezőt, ezért subselect kell, ami kiszámolja az átlagot.

Szóval 2 lehetőség van , az egyik kalkulált táblát a select from után berakod, vagy a másik mikor a where részbe egy értéket visszaadó subselect-et hasonlítasz össze az fizetés mezőbe.

2023. máj. 12. 08:09
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:
81%

SELECT dolgozo.nev, dolgozo.munkakor, dolgozo.fizetes

FROM dolgozo

WHERE dolgozo.fizetes < (

SELECT AVG(dolgozo.fizetes)

FROM dolgozo

WHERE dolgozo.munkakor = 'xy'

)

2023. máj. 12. 08:51
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:
65%

Egyes SQL szerver/nyelv implementációkban létezhetnek ennél jobb megoldások is, még az is lehet, hogy konkrétan azon az implementáción, amit te használsz, nem fog működni, mert nem lehet alias-olni a táblanevet, de általánosságban kb így néz ki egy ilyen query:


Két kulcsfogalom van a megoldásban.

Az egyik subselect, azaz a zárójelben lévő select, a másik pedig az alias,

tehát a külső select-ben adsz egy alias-t a dolgozo-nak, hogy a subselect-ben hivatkozhass rá.


SELECT d.munkakör, d.név, d.fizetés

FROM dolgozo d

WHERE d.fizetés < (

SELECT avg(dolgozo.fizetés) FROM dolgozo WHERE dolgozo.munkakör = d.munkakör

)

2023. máj. 12. 08:55
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:
49%

#3-as válasza nem jó, mert 1. WHERE dolgozo.munkakor = 'xy' ez nem fog menni csak úgy, kell a másik táblából az adat, viszont mezőnév ütközés lenne és mivel 2x ugyanarra a táblára nem hivatkozhatsz ugyanazzal a névvel két selectben kell az alias.


#4-est nézd inkább.

Esetleg kellhet az AS kulcsszó

FROM dolgozo AS d

2023. máj. 12. 09:14
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!