Kezdőoldal » Számítástechnika » Programozás » SQL lekérdezés megvalósítása?

SQL lekérdezés megvalósítása?

Figyelt kérdés

Adott 1 szállítólevél táblám.

sofőr_szám(int), jármű_szám(int), kiállítási_dátum(date), teljesítési_dátum(date)


1 lekérdezésben hogyan lehetne megvalósítani, hogy 1 hónapban hány órát dolgozott a sofőr.

tehát visszakapott adat: Sofőr, Melyik hónap, Hány órát


Próbálkoztam between meg egyéb módszerrel de nem értem el át törést.

Köszönöm ha tud valaki segíteni nekem ebben. Reggel 8 ig kellene :)

Ha valaki nem ír lekérdezést nekem de találkozott hasonló feladattal irány elvet is meghallgatok :)



2014. dec. 13. 03:19
1 2
 1/11 anonim ***** válasza:

ebből a pár adatból hogyan?


mi az hogy kiállítási dátum, mi az hogy teljesítési dátum.


nulla infot adtál eddig.

2014. dec. 13. 03:32
Hasznos számodra ez a válasz?
 2/11 anonim ***** válasza:
másolj be egy teljes sort minden adattal, lehet fake adat is
2014. dec. 13. 03:33
Hasznos számodra ez a válasz?
 3/11 A kérdező kommentje:
2014. dec. 13. 03:41
 4/11 A kérdező kommentje:

select DATEDIFF(day,sza.kiállítási_dátum,sza.teljesítési_dátum) as Diff

from szállítólevél sza


irányba kezdtem el mozogni :)

2014. dec. 13. 03:46
 5/11 anonim ***** válasza:
Ki találta ki, hogy ékezetes mezőneveket használj?
2014. dec. 13. 08:25
Hasznos számodra ez a válasz?
 6/11 anonim ***** válasza:
És a két dátum közötti idő feltétlenül a sofőr munkaideje?
2014. dec. 13. 10:52
Hasznos számodra ez a válasz?
 7/11 anonim ***** válasza:

[link]


Szerintem a date_add kell neked


date add interval


intervallum lesz a szállítólevél kiállítási ideje és a kiszállítási időpont közötti idő, majd ezeket meg összeadod az azonos sofőrszámoknál.

2014. dec. 13. 10:57
Hasznos számodra ez a válasz?
 8/11 anonim ***** válasza:

A feladat természetesen megoldható, csak néhány információt el kéne árulnod.

Pl.

A két dátum közötti idő a sofőr munkaideje? Ez percre pontosan van megadva?

Ha mind a két kérdésre igen a válasz, akkor miért a day-t használod? Ha nem, akkor hogyan akarunk órára pontos eredményt kapni belőle?

Ha percekben jön ki az idő, akkor mi a munkaóra definíciója? Alkalmanként kerekíteni kell esetleg, vagy csak a végösszeget? Vagy töredékórában jön ki?

Milyen SQL nyelvjárást használsz?


Néhány mellékes apróság, amik fontosabbak, mint a jajgatás az ékezetes mezőneveken...

Ha a rendszered engedi használni az ékezeteket, akkor nem lesz baj belőle, de olyan megfontolásból mégsem túl célszerű választás, hogy csökkenti a hordozhatóságot, és az ember később mindig meglepődik, hogy mi mindent nem gondolt előre. Másik gép, másik rendszer, másik SQL, másik cég...

2014. dec. 14. 07:21
Hasznos számodra ez a válasz?
 9/11 anonim ***** válasza:

Még egy kérdés. Van-e közvetlen hozzáférésed az adatbázishoz? Én például egy Postgres adatbázist programozok, és ilyen problémákat általában függvényekkel oldok meg, amik szépítik az életet és gyorsítják a lekérdezéseket. Ugyanúgy be lehet építeni a felhasználói függvényeket, mint egy Excel-táblázatba, csak jogosultság kérdése.

Függvény nélkül a megoldás bonyolultabb és lassabb lesz (mármint futásidőben).

2014. dec. 14. 07:23
Hasznos számodra ez a válasz?
 10/11 A kérdező kommentje:

Ez az egész 1 sulis feladat része. Többen dolgozunk 1 egyszerű adatbázison benne triggerekkel egyebekkel.

Tehát még úgymond tanuló szinten vagyok a dolgokkal de alap funkciókat egyebeket megtudok írni.

Két dátum között nem tudom miért dateadd nak adtuk meg viszont. Naggyából megtaláltam amit kell. amiben el akadtam, az a csoportosítás.

Lehetőleg úgy akartam, hogy hónapokra/emberekre szűkítse,

ki mennyit dolgozott 1 adott hónapban. datediff nél sehogy se tudtam adott értékeket összeadni, meghaladta SUM() képességeimet. :/


SELECT sza.sofőr_szám, DATEADD(MONTH, DATEDIFF(MONTH, 0, sza.teljesítési_dátum), 0) as Hónap

, DATEDIFF(HOUR,sza.kiállítási_dátum,sza.teljesítési_dátum) as munkaidő

FROM szállítólevél sza


kérdés. DATEDIFF adott részeit mivel tudnám össze adogatni? :)

2014. dec. 15. 04:18
1 2

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!