Hirdetés

2024. május 2., csütörtök

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  SQL kérdések (kiemelt téma)

Hozzászólások

(#4051) kezdosql


kezdosql
tag

Ha nem doglott a forum, akkor lenne ket kerdesem:

1. keresek olyan weboldalt, ahol kiprobalhatnek elesben egy pelda alkalmazast, ugy tunik, harom table es par segedtabla kell hozza, viszont bonyolult lekerdezeseket kell megoldani.

2. keresek valkit, aki segitene a tablak "idogepesiteseben", mert esetenkent naponta valtozo tartalmat kell egysegesen kezelni idoszakon belul.

(#4052) martonx válasza kezdosql (#4051) üzenetére


martonx
veterán

Miért lenne döglött a fórum? http://sqlfiddle.com/
Itt tudsz játszani SQL engine-ekkel. Viszont nem egy mai darab ez az oldal.
Én a helyedben feltennék egy lokális SQL-t (PostgreSql / MySQL / MSSql / Oracle) és leginkább azon játszanék, ráadásul könnyen lehet localban backupolnod is, és bármikor visszaállítani.
Az SqlFiddle előnye pedig, hogy az alapján könnyen tudsz tőlünk segítséget kérni, ha megakadsz valahol.

Én kérek elnézést!

(#4053) kezdosql válasza martonx (#4052) üzenetére


kezdosql
tag

Koszonom a gyors valaszt.
Korabbiakra nem jot semi valasz, ezert gondoltam, hogy mar cask en irok ide egy ideje.

Most nem tudok semmit telepiteni es nincs is ra idom, plane, hogy megtanuljak uj programok kezeleset.

Amint irtam, a problemam lenyege az, hogy adatok neha bizonyos naptol megvaltoznak, igy ezt kellene valahogy kezelni, de korabban azt tapasztaltam, hogy datumot nehez bevonni az indexelesbe.

Igaz, regen csinaltam, raadasul, ahogy latom a fiddle MySQL alatt megy, nem tudom, az hogyan kezeli a datumokat, de majd jatszok vele.

(#4054) Ispy válasza kezdosql (#4053) üzenetére


Ispy
veterán

Ha olyan kérdést teszel fel, amire lehet választ adni, akkor kapni fogsz választ. :U

"Debugging is like being the detective in a crime movie where you're also the murderer."

(#4055) kezdosql válasza Ispy (#4054) üzenetére


kezdosql
tag

Az elobbiben mi nem ertheto, hogy nem lehet ra valaszt adni?

Valoban nem lehet datumot hasznalni indexben?

(#4056) Ispy válasza kezdosql (#4055) üzenetére


Ispy
veterán

2 kérdést írtál be, az elsőre kaptál választ, a második meg nem kérdés, hanem "állásajánlat".

"Debugging is like being the detective in a crime movie where you're also the murderer."

(#4057) sztanozs válasza kezdosql (#4053) üzenetére


sztanozs
veterán

Nem tudom miért volna probléma a DateTime indexelése (főleg ha letrimmelsz egy DateTime-ot Date-re, akkor az index se lesz nagy, és gyorsan is működik).

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#4058) martonx válasza kezdosql (#4053) üzenetére


martonx
veterán

"Korabbiakra nem jot semi valasz, ezert gondoltam, hogy mar cask en irok ide egy ideje." - korábban nettó hülyeségekkel traktáltál minket, kérdezés címszó alatt, nem csoda, hogy egy idő után már senki se válaszolt :D

Most hogy remélhetőleg elkezdesz normális, értelmes, konkrét kérdéseket feltenni, hidd el jönni fognak a válaszok is. Eddig se mi voltunk a helikopterek, még ha egy bizonyos szempontból ez úgy is tűnhetett :D

Én kérek elnézést!

(#4059) kezdosql válasza sztanozs (#4057) üzenetére


kezdosql
tag

Date-vel vagy evet, vagy pontos napot kell megadni.
Az esemeny ev/ho szovegben szerepel idoszak cimen, karakteresen tol-ig savonkent, numerikus hivatkozassal a sorbaallitashoz.
Utobbival az esemeny megadhato.
Na de hogyan oldod meg, hogy a vizsgalt idoszak az par honap, es az esemeny kozben jelentkezik?
Aranyositod az idoszakot napra?
Akkor a savos idoszakokat at kell irni from-to datum mezokre, es ahhoz tartozhat a numerikus mezzo?

(#4060) kezdosql válasza Ispy (#4056) üzenetére


kezdosql
tag

A szoveges adatbaziskezelore vonatkozo kerdesemre gondolsz?
Nemreg lattam a Biblia cd-t, profi megoldas, ilyesmit keresek.
Ha te cask a zsebedet akarod tomni, az a te bajod, en meglevo megoldasokat keresek, es sajnalom, ha emiatt leneztek.

(#4061) martonx válasza kezdosql (#4059) üzenetére


martonx
veterán

Ha már küldtem az sql fiddle-t, nem lehetne konkrét példát mellékelni?

"Na de hogyan oldod meg, hogy a vizsgalt idoszak az par honap, es az esemeny kozben jelentkezik?" - mert ez így nagyon nem világos, hogy mit szeretnél.

Én kérek elnézést!

(#4062) velizare válasza martonx (#4061) üzenetére


velizare
nagyúr

olvasom, hogy miket ír, de ennyi erővel akár kínaiul is írhatna...

Tudod, mit jelent az, hogy nemezis? Az érintett, erősebb fél kinyilatkoztatása a méltó büntetés mértékét illetően. Az érintett fél jelen esetben egy szadista állat... én.

(#4063) kezdosql válasza martonx (#4061) üzenetére


kezdosql
tag

Folyamatosan lekezeltek, mikozben azt se ertitek meg, hogy ahhoz, hogy a program kodot megirjam, eloszor az adatstrukturat kell tisztazni.

Itt egy pelda:
Sport szezon 2016 osz/2017 tavasz - ez karakteres
ez az 51. szezon - ez numerikus
A csapat gyenge szereplese miatt 2016.12.10-en ket uj jatekost igazolnak le, amivel nyerove valnak.

Hogyan osztod fel az 51. szezont (numerikus) 2016 osz/2017 tavasz (karakteres) idoszakot datumok szerint ket reszre?

(#4064) Apollo17hu válasza kezdosql (#4063) üzenetére


Apollo17hu
őstag

Csinalhatnal egy calendar tablat, amiben felveszed az osszes datumot. Teszel bele egy mezot, ami megmutatja, hogy az adott naptari nap melyik szezon.

Es lenne a tenytablad, amiben a konkrrt esemenyeket rogzited datumokkal. Ha rogzitettel egy esemenyt, akkor az esemeny datuma menten a calendar tablabol megtudod, hogy melyik szezont erinti.

(#4065) velizare válasza kezdosql (#4063) üzenetére


velizare
nagyúr

ami 2016-tal kezdődik, az 2016, ami 2017tel, az 2017. mi ebben a nehéz?

Tudod, mit jelent az, hogy nemezis? Az érintett, erősebb fél kinyilatkoztatása a méltó büntetés mértékét illetően. Az érintett fél jelen esetben egy szadista állat... én.

(#4066) martonx válasza kezdosql (#4063) üzenetére


martonx
veterán

például:

season from to
51 2016-09-01 2016-12-31
51 2017-01-01 2017-03-31

Látod, mihelyst értelmeset, konkrétat kérdezel, már jönnek is a válaszok. Amíg csak általánosságban puffogtatod a hülye kérdéseket, addig ne lepődj meg, hogy általánosságban kapod a hülye válaszokat.

Én kérek elnézést!

(#4067) kezdosql válasza velizare (#4065) üzenetére


kezdosql
tag

Valaszoltal sajat magadnak 4062-re, azert nem erted, mert nem azt latod, ami le van irva.

Segitek, kiemelem a lenyeget, ami a peldamban volt:

2016.12.10

Szerinted ez pontosan az ev elvalasztasi datumat jelenti?

(#4068) kezdosql válasza Apollo17hu (#4064) üzenetére


kezdosql
tag

Koszonom, talan valami ilyesmi lenne a megoldas, osszegyujteni egy tablaba mindenfele esemenyt es valahogy ahhoz igazitani a dolgokat.

(#4069) Apollo17hu válasza kezdosql (#4068) üzenetére


Apollo17hu
őstag

Csinálhatod azt is, hogy mindent, de mindent egyetlen táblában tárolsz.

Esemény dátuma, szezon, esemény megnevezése, eseményhez kapcsolódó játékos, játékos csapata, játékos lábmérete stb. Minden rekord rengeteg attribútumot (mezőt) tartalmazna, de az adattáblára írt lekérdezések az elvárthoz képest sokkal lassabban futnának, mert a tábla nem lenne normalizált.

Normalizáláshoz adatmodellt kellene kialakítani, ami viszont nem ott kezdődik, hogy az egyes mezőknek megmondjuk az adattípusát. Hanem megnézzük, hogy az ismétlődő értékek közül melyeket lehet dimenziótáblában tárolni. Ilyenek pl.: [dátumok] tábla, [csapatok] tábla, [játékosok] tábla, és ezek kapcsolódhatnának a ténytábláddal, amiben ezekre a táblákra csak hivatkozol, nem tárolod a bennük lévő összes mezőt.

[ Szerkesztve ]

(#4070) david199801


david199801
tag

Hali!
sqldeveloperben szeretném az adott táblát megcsinálni de nem engedi a hibakód:ORA-00904: : érvénytelen azonosító
Ez lenne a parancs:
CREAT TABLE Rendeles(
k_rendeles_id INT primary key,
r_tipus VARCHAR(50),
r_ar VARCHAR (10),
k_nev VARCHAR references Könyvek(k_nev),
r_nev VARCHAR (10) References Vevő(r_nev),
);

(#4071) bambano válasza david199801 (#4070) üzenetére


bambano
titán

k_nev-nek nem adtál meg méretet.

Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis

(#4072) david199801 válasza bambano (#4071) üzenetére


david199801
tag

Nem azt copyztam be, de úgy is próbáltam. Meg a CREATE is jól írtam és úgy se

[ Szerkesztve ]

(#4073) updog válasza david199801 (#4070) üzenetére


updog
senior tag

Létezik-e már Könyvek tábla, annak k_nev oszlopa, illetve Vevő tábla és/vagy r_nev oszlopa?

"Bocs, főnök, de én csak két emberben bízom. Az egyik én vagyok. Nem maga a másik." || "Hóhahó, mégis van graffaló!"

(#4074) david199801 válasza updog (#4073) üzenetére


david199801
tag


ezt írja ki. És igen létezik. Csak nem tudom hogy ezt a sok táblát miért generálja le magától

(#4075) velizare válasza david199801 (#4070) üzenetére


velizare
nagyúr

az utolsó előtti sorba nem kell vessző.
CREATE TABLE Rendeles(
k_rendeles_id INT primary key,
r_tipus VARCHAR(50),
r_ar VARCHAR (10),
k_nev VARCHAR (100) references Könyvek(k_nev),
r_nev VARCHAR (10) References Vevő(r_nev)
);

a képen jelzi is az sql developer, van utána egy hullámos piros vonal.

[ Szerkesztve ]

Tudod, mit jelent az, hogy nemezis? Az érintett, erősebb fél kinyilatkoztatása a méltó büntetés mértékét illetően. Az érintett fél jelen esetben egy szadista állat... én.

(#4076) david199801 válasza velizare (#4075) üzenetére


david199801
tag


Most ez a baja neki

(#4077) velizare válasza david199801 (#4076) üzenetére


velizare
nagyúr

a hibaüzenet elég egyértelmű. csak olyan mezőre lehet használni a referencest, amelyik unique a saját táblájában, vagy primary key (és emiatt unique).

Tudod, mit jelent az, hogy nemezis? Az érintett, erősebb fél kinyilatkoztatása a méltó büntetés mértékét illetően. Az érintett fél jelen esetben egy szadista állat... én.

(#4078) david199801 válasza velizare (#4077) üzenetére


david199801
tag

Igen a vevő táblában nem primary key vagy unique a név. Ezt hogy tudom átírni? Az a baj mi órákon táblák készítésével egyáltalán nem foglalkoztunk csak utána triggerekkel és egyebekkel, ezért van ilyen sok kérdésem.

(#4079) updog válasza david199801 (#4078) üzenetére


updog
senior tag

Nézd meg, van-e valami ID a vevő táblában, és referálj arra (ha nincs, adj hozzá, trigger+sequence töltheti).

A screenshotból adódóan egy megjegyzés: a SYSTEM user alá nem nagyon illik semmit csinálni kézzel :) Készíts egy játszós usert (google: oracle create user) vagy használd a sample sémákat (hr, oe, ilyenek).

oracle.com tele van jobbnál jobb tutorialokkal (ha kifejezetten Oracle-t kell használni), nem nagyon lehet megúszni ha nem adják le szájbarágósan (nem szokták). Pl. [link]

[ Szerkesztve ]

"Bocs, főnök, de én csak két emberben bízom. Az egyik én vagyok. Nem maga a másik." || "Hóhahó, mégis van graffaló!"

(#4080) velizare válasza david199801 (#4078) üzenetére


velizare
nagyúr

legkönnyebben úgy, hogy ráteszel egy unique constraintet.

ALTER TABLE VEVO
ADD CONSTRAINT VEVO_R_NEV_unique UNIQUE(R_NEV);
commit;

ez persze kizárólag technikai megoldásnak tekinthető, mert így nem lehet két ugyanolyan nevű című vevőd ebben a táblában, ami azért üzletileg nem feltétlenül elfogadható. azaz ha én lennék a megrendelő, ezt a megoldást nem fogadnám el.

ja és szólj nyugodtan a tanárnak, hogy hibás az anyag (legalább látja, hogy foglalkoztál vele).

[ Szerkesztve ]

Tudod, mit jelent az, hogy nemezis? Az érintett, erősebb fél kinyilatkoztatása a méltó büntetés mértékét illetően. Az érintett fél jelen esetben egy szadista állat... én.

(#4081) david199801


david199801
tag

Még egy kérdésem lenne hogy az sqldeveloper miért generálja le azt a sok táblát ott bal oldalt? Hogy tudnám azokat kitörölni?

(#4082) updog válasza david199801 (#4081) üzenetére


updog
senior tag

(#4079) doeeg második bekezdés. A SYSTEM user alá vagy bejelentkezve, ami nagyon nem jó. Nem azokat a táblákat kéne kitörölni ( :Y tényleg szólj az oktatónak ha ő javasolta hogy ezzel lépjetek be), hanem saját user alatt kéne csinálni a játékot :)

De hogy segítsek is a konkrét kérdésnél: ha jobb gombbal kattintasz a Tables (filtered)-re, lesz egy Apply filter menüpont, klikk oda. Itt egyesével hozzá tudod adni, hogy milyen táblákat akarsz látni, praktikusan NAME = VEVŐ, NAME = KÖNYVEK stb. feltételeket állíts be (upper/lowercase-re lehet hogy figyelni kell (ha pl. egyikféleképp nem működik), az ékezet se túl szerencsés a táblanevekben), "Match any" beállítással. + gombbal tudsz hozzáadni. Így nem fog látszani, csak az a tábla, amit te akarsz.

De attól hogy nem látod, még ott lesznek, továbbra sem javasolt a SYSTEM alatt garázdálkodni :)

[ Szerkesztve ]

"Bocs, főnök, de én csak két emberben bízom. Az egyik én vagyok. Nem maga a másik." || "Hóhahó, mégis van graffaló!"

(#4083) david199801


david199801
tag

Elkezdtem próbálgatni előre megírt procedúrákat és tesztelgetni/javítani ha hibás. Ennél az egynél nem tudok rájönni hogy mi lehet a baj. Valaki aki jártasabb ebben tudna segíteni?
A választ előre is köszönöm

(#4084) tm5 válasza david199801 (#4083) üzenetére


tm5
tag

Hát így első blikkre szerintem nem egészséges, ha az eljárás paraméternevek megegyeznek az oszlopnevekkel. Valahogy különböztesd meg őket.

Bár ez valszeg nem hiba, de engem kiráz a hideg azoktól a magyar ékezetes táblanevektől.

(#4085) Ispy válasza david199801 (#4083) üzenetére


Ispy
veterán

Az upperben el van írva a vm_rendeles_id? Ottan alul ki is írja.

"Debugging is like being the detective in a crime movie where you're also the murderer."

(#4086) kezdosql válasza Apollo17hu (#4069) üzenetére


kezdosql
tag

Csinálhatod azt is, hogy mindent, de mindent egyetlen táblában tárolsz.

Ez marhasag.

Ertelemszeru, hogy kulon tablakra van szukseg, a kerdes a koztuk levo kapcsolatok.

Minimalisan kell harom tabla, csapatok, szezon es meccsek.
A kerdes az, hogyan lehet kozottuk a kapcsolatokat felepiteni.

Ertelemszeru, hogy adott szezonban vannak adott csapatok, de ez valtozhat - esemeny tortenik.
Ertelemszeru, hogy minden csapat minden mas csapattal jatszik - de nem mindig, itt is esemeny tortenik.
Ertelemszeru, hogy minden csapat egyszer otthon, egyszer idegenben jatszik - de nem mindig, itt is esemeny tortenik.

A szezon az "x ev/x+1 ev" neven fut, allandoan valtozo kezdesi es befejezesi datumokkal, cask a sorszama biztos.

A meccsek minden szezonban vannak meghatarozva, mindig valtozo napokon, itt datum es ido mezo kell a
pontos beazonositasra.

A korabbi javaslatod jo otlet volt, kell egy "szotar" segedtabla, amivel a fentiekhez meg lehet egy esemenyek mezot is felvinni, ahhoz is datum es ido kell, igy barmi tortenik a szezonban, jon egy esemeny, es kesobb annak alapjan lehet az elemzeseket megoldani es az esemenyeket "datum-ido" tipusu mezovel lehet kezelni.
.
Lehet, hogy az lesz a magoldast, hogy minden adathoz kell egy datum-ido mezot csatolni es az alapjan lehet megtalalni a rendezesi szempontokat a kesobbi elemzesekhez, de akkor meg kell oldani, hogy pl. az adott szezon az nem egy adat, hanem ketto, van kezdete es befejezese, mindketto datum-ido mezovel, es a szezon a kozottuk levo idosavra vonatkozik.

Ez viszont nekem azt veti fel, hogy nem tudom a harom fenti tablat kozvetlenul osszekapcsolni, hanem valahogy mindig be kell iktatnom kozejuk ezt a "szotar" segedtablat, mert abban vannak a mindenhez kapcsolodo datum-ido mezok, ezzel akadtam el, tul sok a kapcsolat.

(#4087) Ispy válasza kezdosql (#4086) üzenetére


Ispy
veterán

A kerdes az, hogyan lehet kozottuk a kapcsolatokat felepiteni.

Nem kérdés, relációs adatbázis...

Dimenzió táblák:
- csapatok
- szezonok
- játékosok
- bírók
- tökömtudjamégmi

Ténytáblák:
- meccsek

pl:

Csapatok tábla:
- név
- alapítás éve
- tulajdonos_id
- címadatok
stb.

Szezonok tábla:
- szezonok_id
- megnevezés
- kezdete
-vege

Meccs tábla:
- meccs_id
- szezon_id
- dátum
- hazai_csapat_id
- vendeg_csapat_id
- mikor
- eredmény

Amikor le akarsz kérdezni, akkor ahol id van, ott bejoinolod a törzsadatokat:

SELECT
szezonok.megnevezes,
meccsek.datum,
hazai.nev,
vendeg.nev,
meccsek.mikor,
meccsek.eredmeny
FROM meccsek
inner join szezonok on meccsek.szezon_id=szezonok.id
inner join csapatok hazai on meccsek.hazai_csapat_id=hazai.id
inner join csapatok vendeg on meccsek.vendeg_csapat_id=vendeg.id

kábé, ezt most csak összeírtam gyorsan, de így kell elképzelni.

"Debugging is like being the detective in a crime movie where you're also the murderer."

(#4088) Apollo17hu válasza kezdosql (#4086) üzenetére


Apollo17hu
őstag

Azert a marhasag kifejezes eleg eros. Az eddigi hsz.-eid alapjan igenyelted a ravezetest, en pedig ezt tettem.

(#4089) user112


user112
senior tag

Sziasztok!

Az alábbi lekérdezéshez (Oracle) szeretnék hozzáadni egy számított mezőt (Hiba) :

Select azon, c1, c2,
(case when c2! =0 then c1/c2 end) as Arany, Hiba
...

A Hiba mező attól függően változna hogy mekkora a c1 és az Arány értéke (több felzétel is lenne).
Pl. ha c1>10 and Arany>50 akkor kapjon valamilyen értéket.
... következő felfétel stb.

Hogyan tudom ezt megcsinálni?
(nvl és raund is van a selectben de ezt nem írtam ide)

(#4090) Apollo17hu válasza user112 (#4089) üzenetére


Apollo17hu
őstag

Bele tudod agyazni az arany case when-jet egy masik case when-be. Vagy fogod a lekerdezesed, allekerdezesbe rakod, es ennek az allekerdezesenek az arany mezojere szinten tudsz hivatkozni.

Ha osztassal generalsz uj mezot, akkor tanacsos kivetelkezelest is alkalmazni a nullaval valo osztas hibalehetosegenek elkerulese erdekeben.

(#4091) user112 válasza Apollo17hu (#4090) üzenetére


user112
senior tag

Sajna pont ez a beágyazás nem megy. Ott nem enged hivatkozni az Arany-ra (invalid identifer) .
(zéró osztás kezelva van)

(#4092) Apollo17hu válasza user112 (#4091) üzenetére


Apollo17hu
őstag

Ez a két módszer:

SELECT t.azon
,t.c1
,t.c2
,CASE
WHEN t.c2 ! = 0 THEN
t.c1 / t.c2
END AS arany
,CASE
WHEN t.c1 > 10 AND CASE
WHEN t.c2 ! = 0 THEN
t.c1 / t.c2
END > 50 THEN
'x'
END hiba
FROM (SELECT 'a' azon
,20 c1
,30 c2
FROM dual
UNION
SELECT 'b' azon
,20 c1
,0 c2
FROM dual
UNION
SELECT 'c' azon
,40 c1
,NULL c2
FROM dual
UNION
SELECT 'd' azon
,500 c1
,3 c2
FROM dual) t

SELECT u.*
,CASE
WHEN u.c1 > 10 AND u.arany > 50 THEN
'x'
END hiba
FROM (SELECT t.azon
,t.c1
,t.c2
,CASE
WHEN t.c2 ! = 0 THEN
t.c1 / t.c2
END AS arany
FROM (SELECT 'a' azon
,20 c1
,30 c2
FROM dual
UNION
SELECT 'b' azon
,20 c1
,0 c2
FROM dual
UNION
SELECT 'c' azon
,40 c1
,NULL c2
FROM dual
UNION
SELECT 'd' azon
,500 c1
,3 c2
FROM dual) t) u

(#4093) kezdosql válasza Apollo17hu (#4088) üzenetére


kezdosql
tag

Erzelmi toltes nelkul irtam, tenyszeruen.

Adatbazis ertelemszeruen a sok tabla, minimum harmadik normal formaval.
Az "egytablas" megoldas a ket dimenzios tablazatot jelenti, aminek semi koze az adatbazishoz - legfeljebb adatforraskent.

(#4094) kezdosql válasza Ispy (#4087) üzenetére


kezdosql
tag

Igen, hasonlora jutottam korabban en is, a biroknal kell egy ujabb segedtabla, mert csak a neveket lehet megadni, a meccsekkel egyutt van ertelmezve, hogy biro vagy partjelzo volt, a jatekosoknal is, hogy adott meccsen jatszott, kispadon ult vagy serult volt, stb.

Amin most tepelodok, amit Apollo irt, az esemenytabla, mert azt valahogy be kell illeszteni az elemzesbe, a szezonon beluli torteneseknel szakaszolni kell - pl. egyik csapat edzoje a masikhoz igazol, vagy amit korbban irtam, hogy december kozepen lecserelik a csatarsort es "uj csapat" jelenik meg.

(#4095) Apollo17hu válasza kezdosql (#4093) üzenetére


Apollo17hu
őstag

Nyilvan te is elegedett lettel volna, ha mar az elso kerdesednel azt a reakciot kapod, hogy 'Hogy lehet ilyen hulyeseget kerdezni?'.

Kiszalltam.

(#4096) user112 válasza Apollo17hu (#4092) üzenetére


user112
senior tag

Ebből leesett, hogy a CASE nem tartalmazhat aliast. Ha behelyettesítem a kifejezést, akkor már jó lett.
Ahány CASE, annyi Hiba mező lett, így végül is jó lett a lekérdezésem.
Köszönöm.
A belső Select-ben mit jelent az "a", 20,30 stb.?

(#4097) kezdosql válasza kezdosql (#4094) üzenetére


kezdosql
tag

Amin most tepelodok, amit Apollo irt, az esemenytabla, mert azt valahogy be kell illeszteni az elemzesbe, a szezonon beluli torteneseknel szakaszolni kell - pl. egyik csapat edzoje a masikhoz igazol, vagy amit korbban irtam, hogy december kozepen lecserelik a csatarsort es "uj csapat" jelenik meg.

Sehogyansenem jutok elobbre, mert egy esemeny tul sok mindent erint.

Elvileg jo lenne indulasnak:
Esemeny tabla
es_id
datum-ido
megnevezes
erintett - es itt bukok el, pl. 3 jatekos atigazol masik csapatba, minimum a 3 jatekost es a 2 csapatot erinti.

Elvileg leszukithetek mindent "csapatok" es "szemelyek"-re, es a szemelyeknel van egy leosztas, hogy az illeto az adott idoszakban jatekos, edzo, biro, partjelzo, stb. de akkor is ket csoportom van, es azon belul is tobb erintett lehet.

Eddig jutottam:
Esemeny tabla
esemeny_id
datum-ido
megnevezes
csapat_id
szemely_id

Ha felveszek egy segedtablat, az megoldas lehet?

segedtabla
esemeny_id
csapat_id
szemely_id

Nagyon M : N -szeru, nehezen kezelheto megoldasnak tunik:-(

[ Szerkesztve ]

(#4098) kezdosql válasza Apollo17hu (#4095) üzenetére


kezdosql
tag

Indoklassal, hogy miert minosited annak, informaciot adott volna.

Ismetlem, en nem erzelmi alapon irok, nem a szemely, hanem a tema es a megoldas az erdekes szamomra.

(#4099) Jim74 válasza kezdosql (#4097) üzenetére


Jim74
nagyúr

Esetleg a játékosoknak, ha készítesz egy törzstáblát, hogy melyik, mettől meddig tartozik egy csapatboz az segítene?
Rekord_id
Jatekos_id
Jatekos_nev
Csapat_id
Tagsag_kezdete
Tagsag_vege (az aktuális csapatánál 9999.12.31)

Ugyanezt elkészíteném a sérülések-re:
Rekord_id
Jatekos_id
Serules_kezdete
Serules_vege (ez mindaddig 9999.12.31., amíg sérült a játékos)

(#4100) Apollo17hu válasza user112 (#4096) üzenetére


Apollo17hu
őstag

'a', 'b', 'c'... ezek csak példák akartak lenni az azonosítókra, ugyanígy a 20 és a 30 a példarekord számlálója és nevezője

Útvonal

Fórumok  »  Szoftverfejlesztés  »  SQL kérdések (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.