- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Vakegérke: NyalóVilág: tizenegy, nem babra megy - VV11 - Való Világ 11
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- SirRasor: Garmin Venu SQ és Garmin HRM-Dual összehasonlítása, avagy kell-e a szíj?
Új hozzászólás Aktív témák
-
DopeBob
addikt
válasz martonx #2904 üzenetére
PL\SQL 11g
Igen, pivottal megcsináltam a lekérdezést amit egy másik táblához kéne kapcsolnom, de a join már nem megy.
Ugy nézne, ki hogy.
SELECT a, b FROM table1 t1
LEFT OUTER JOIN (select * from (select a, b, c from xx) pivot ( .. ) t2
ON a.t1 = a.t2Lefut, de nincs meg a tábla hozzákapcsolt része.
Külön futtatva a join allekérdezését működik rendesen.
*egy ötletem volt a * helyére felsorolom azt az 50 oszlopot az allekérdezésben van, de úgysem megy.
[ Szerkesztve ]
MZ/X
-
half333
őstag
válasz martonx #3007 üzenetére
nem tudom melyik sql serer lenne a legjobb ami fut win10 alatt. légyszi segitenél kicsit szájbarágósan elmagyarázni h pontosan hogyan csináljam? akárhol keresem nálam nem működik az a megoldás,meg ugye az angol se megy annyira h megértsem,magyarul meg nem találok semmit.
-
half333
őstag
válasz martonx #3015 üzenetére
Nem igazán csináltam még ilyet,szóval fogalmam sincs h hogyan kell,viszont találtam megoldást az mssql server 2000 felrakására,minden okés,sikerült az adatbázist visszaállitani,viszont a service manager-nem lehet elinditani: a hozzáférés megtagadva - an error 5
Occured while performing this service operation on the mssqlserver -
rum-cajsz
őstag
válasz martonx #3035 üzenetére
Mondjuk martonx kollégának igaza van abban, hogy ha csak egy irányból érkeznek adatok (a programodból), és úgy is most tervezed az egészet, akkor a trigger helyett jobb, ha programból csinálod az insertet is.
A trigger megoldás inkább akkor lehet jó, ha több irányból (több programból, betöltésből, stb.) is érkezhetnek adatok, és nem akarod/ nem tudod ellenőrzötten az összes programodat átírni.=Kilroy was here============================ooO=*(_)*=Ooo=======
-
Louro
őstag
válasz martonx #3058 üzenetére
Megpróbálom leírni a lényeget.
Adott az első alaptábla. Ezek rendelések. Három kategória a K, L, M.
Két oszlopa van. Azon és DB
Legyen a tartalma:
K1 - 5
L1 - 3
M1 - 12
K2 - 8
M2 -10
K3 - 7Az lenne a cél, hogy egy másik táblában mellé tegyem, hogy hányadik rendelés a hónapban kategóriánként.. Van egy tábla, ahol gyűlnek a sorszámok.
K-ból már 3, L-ből 2, M-ből pedig 5 rögzített sorszám van.
Az elvárt az lenne az új táblában, hogy
K1 - 4
K2 - 5
K3 - 6
L1 - 3
M1 - 6
M2 - 7Remélem így kerekebb.
[ Szerkesztve ]
Mess with the best / Die like the rest
-
Louro
őstag
válasz martonx #3060 üzenetére
Sziasztok,
@Apollo17hu : Köszönöm, jónak tűnik. Ma meglesem.
fiddle-t még nem használtam SQL-re, csak JAVA-s időkben.
De ez lenne a kód:
CREATE TABLE rendeles_db (
azon varchar2(10),
db number
);INSERT INTO rendeles ('K',1); --Első K rendelés
INSERT INTO rendeles ('K',2); --Második K rendelés
INSERT INTO rendeles ('L',1); --Első L rendelés
INSERT INTO rendeles ('M',1); --Első M rendelés
INSERT INTO rendeles ('L',2); --Második L rendelés
INSERT INTO rendeles ('K',3); --Harmadik K rendelés
COMMIT;CREATE TABLE rendeles_q (
azon varchar2(10),
rendeles_db number
);
--Itt a rendelésekhez tartozó darabszámot adjuk meg.
--A rendelésekhez pedig meg kellene mondani, hogy hányadik a hónapban.
INSERT INTO rendeles_q ('K',5);
INSERT INTO rendeles_q ('K',4);
INSERT INTO rendeles_q ('M',8);
INSERT INTO rendeles_q ('K',2);--Elvárt az lenne ne kézzel kelljen sorszámot adni a rendelésnek, hanem gép adja.
--Így nézne ki a temptábla, amit kapcsolótáblaként használnék fel:
--K,4
--K,5
--M,2
--K,6--Ha ez meglenne, akkor a rendelésekhez mellé tudnám tenni, hogy hányadik a hónapban.
--A rendeléshez az azonosító egyik eleme a sorszám.Köszönöm,
CsabiMess with the best / Die like the rest
-
DS39
nagyúr
válasz martonx #3079 üzenetére
köszönöm a válaszodat, bár igazából ezzel most nem tudom mit kezdjek, ebben egy szó sincs xml feldolgozásról.
van egy lekérdezés egy táblából ahol az xml nevű oszlop értéke az alábbi xml részlet.
ebből értéket úgy szedek ki, hogy:
select xml.value('(/data/answer[@id="3"])[1]', 'varchar(max)') from table_name
de ez így fixen mindig minden sor esetében a 3-as id-s választ hozza le, nekem pedig az kellene, hogy a 3-as helyére dinamikusan tudjak egy számot bevinni.
mert ha ezt a kódot csak felbontom úgy, hogy :
xml.value('(/data/answer[@id="'+'3'+'"])[1]', 'varchar(max)')akkor ezt az választ kapom az sql szervertől:
The argument 1 of the XML data type method "value" must be a string literal.[ Szerkesztve ]
-
martonx
veterán
válasz martonx #3103 üzenetére
Pontosítok, nyilván a tábla struktúrádnak olyannak kell lennie, hogy abból a végén kinyerhetőek legyenek az adatok valami olyasmi kimenetbe, mint amit a belinkelt képen mutattál. Azaz pl. lenne egy ruha táblád, egy gyerek táblád, meg egy mozgás táblád például.
Én kérek elnézést!
-
Novics
senior tag
válasz martonx #3103 üzenetére
Tudom, hogy nagyon excelben gondolkozok, de eddig inkább azt használtam, így nehezen tudok elvonatkoztatni tőle.
Hogy nem az access a tuti, azt én is tudom, de kb még ez a legjobb az elérhető eszközök közül. De szívesen fogadom a tippet, hogy mivel lenne érdemes próbálkozni, ami ingyenesen - és legálisan - használható.
szerk: A táblák megvannak, formok is vannak bevitelhez, egyszerűbb lekérdezésekhez is, csak ez a qrva "excel" nem megy a készlettel. A képet csak illusztrációnak raktam be amúgy, nem egy excelt várok a végén, meg is kell bitre pontosan így kinéznie.
[ Szerkesztve ]
A fontolva haladó. - 30 felett minden nap ajándék.
-
Novics
senior tag
válasz martonx #3106 üzenetére
Köszi a tippet. Már telepítem is a VS-t.
Így néz ki a kapcsolati ábra. Ilyenre gondoltál, nem?
Sok dolog amúgy nincsen benne, nem egy túl bonyolult valami, de később lehetne bővíteni, inkább, mint az x-edik excel tábla. Meg ebbe kevésbé tudnak belenyúlni, jobban el lehet előlük dugni a dolgokat.Egyetemen volt DB 2 félév is, de igazából a normálformák, meg a SELECT, FROM, ORDER BY, GROUP BY, WHERE... aztán kb ennyi volt. DB tervezést kb nem is tanultunk.
A fontolva haladó. - 30 felett minden nap ajándék.
-
Novics
senior tag
válasz martonx #3108 üzenetére
Akkor már csak 80%, hogy szar az adatbázisom?
Köszönöm a "fejmosást". Sikerült megoldanom a dolgot egy új lekérdezés létrehozásával, ami nem is volt bonyolult. Bár az még nem megoldott, hogy legyen egy nyitó, és minden sorban adja hozzá/vonja ki a változást, de ez nem is feltétlenül szükséges, a lényeg, hogy az aktuális készletet kiszámolja.A fontolva haladó. - 30 felett minden nap ajándék.
-
Pilács
senior tag
válasz martonx #3123 üzenetére
Gyakorlatilag sql alól megoldottam, sőt 3x próbálkozás sikertelen letöltés esetében, + naplózás +rendszer logba hiba, bárhol elszáll a dolog. A letöltés powershellel megy, csak visszatérési értéket vizsgálok... Azért köszönöm a segítséget.
Ajándék szesznek ne nézd a fokát!
-
Louro
őstag
-
kezdosql
tag
válasz martonx #3279 üzenetére
Dehogyis, ipsy megadta a neki tetszo megoldast, importaljam az egeszet egyetlen excel fajlba, aminek tobb szaz lapja van, amikor jon o, vagy egy hozza hasonlo, magat zseninek kepzelo, majd odaadom neki azt a fajlt, es akkor majd nekiallhat mazsolazni, hogy a sok definialatlan oszlopban vajon milyen adatok vannak.
-
-
Petya25
addikt
válasz martonx #3304 üzenetére
Asszittem van valami egyszerű konvert rá....
Excelben meg tudom oldani formátum mókolással, de most csak a nyers adatot akartam továbbküldeni Ctrl+C -> Ctrl+V-vel....
A szövegként átemelést még bepróbálom, köszi.[ Szerkesztve ]
Antonio Coimbra de la Coronilla y Azevedo, bizony!
-
Lacc
aktív tag
válasz martonx #3316 üzenetére
Ezt én is így gondoltam.
Microsoft-ok szerint nem árt, link, Indexing FOREIGN KEY Constraints fejezet cím.
Amúgy ha összetett keresést alkalmazok webappból (dropdownlistában ott vannak a foreign key kulcsok) akkor gyorsabb, érezhetően gyorsabb 500.000 rekordnál, még szerme is
-
Cathfaern
nagyúr
válasz martonx #3337 üzenetére
Nem nagyon használtam még a MERGE-et, de rákeresve az nem töröl a cél táblából ha a forrás táblából kitöröltek egy sort, és itt az is feltétel volt.
rum-cajsz
Meg az is kérdés, hogy mennyi adat változik? Szóval ha mondjuk a sorok 90%-a állandó marad, akkor lehet érdemes megpróbálni insert / update / delete-el eljátszani. De ha a sorok 90%-a változik napról napra, akkor a delete -> insert verziónál nem nagyon lesz hatékonyabb. Mondjuk ha emberi mennyiségű adatról van szó, akkor meg kb. mindegy (és szerintem ha többi milliárd rekordos táblák lennének, akkor nem itt és nem így merülne fel a kérdés, de lehet tévedek) -
Dilikutya
félisten
válasz martonx #3410 üzenetére
Nincs mögötte az adatbázis még.
Másik kérdés. Sok lekérdezés, de mind ugyanaz, csak más mezőből kéri le az értékeket ugyanazon feltétel szerint. Hogy lehet ezt a legjobban automatizálni? Illetve a lekérdezett mezőből bizonyos értékeket ki kell zárni (vagy csak bizonyos tartományt belevenni), és mivel ez ugyanaz a mező, ahonnan eleve lekérdezek, hogy lehetne elkerülni, hogy még a WHERE után minden lekérdezésbe is bele kelljen írni?
Nem vagyok perverz, csak haladok a korral. (Még mindig: Rock&roll feeling baby, rock&roll feeling.....)
-
Dilikutya
félisten
válasz martonx #3412 üzenetére
Köszi!
De a lényeg a folytatásban van.
SELECT akármi(mezőnév) FROM tábla WHERE `mezőnév` = X;
A lekérdezés fele beírva a megfelelő helyre, viszont máshova kell ugyanez, kibővítve úgy, hogy mezőnév -ből csak bizonyos adattartomány szerinti adatok kellenek. Erre van valami általános hivatkozás, ami a lekérdezésben egyszer már szereplő mezőnevet behelyettesíti, vagy kézzel kell beírni?
A lekérdezések ennél bonyolultabbak, de ez a lényeges része most nekem, a többi csak AND, OR, könnyen és gyorsan lehet azzal a résszel dolgozni, ez viszont minden sorban más és más lesz. És nagyon sok sor van.
Nem vagyok perverz, csak haladok a korral. (Még mindig: Rock&roll feeling baby, rock&roll feeling.....)
-
Dilikutya
félisten
-
Sixkiller6
őstag
válasz martonx #3432 üzenetére
így van, alapvetően egy olyan interfész kellett, ahol az alapokat meg tudom mutatni vkinek és amivel lehet gyakorolni. nehéz úgy kérdezni, hogy nem ismerem az opcióimat.
semmi gond nincs a server telepítéssel, de egy weboldal nyilván a legegyszerűbb.
mondjuk az előny a szervernél, hogy könnyen fel tudok dobni nagy példaadatbázist.nagyon köszönöm mindkettőtöknek a segítséget
[ Szerkesztve ]
- no es importante -
-
Dilikutya
félisten
válasz martonx #3420 üzenetére
Mert nem vagyok annyira otthon az SQL-ben, de ez most nem is lényeges, a lényeg, hogy a megfelelő adatok meglegyenek. És a jelen ismereteimmel az egész nem is oldható meg máshogy, csak jó sok lekérdezéssel. Hülye xlsx táblákat kell feltölteni hülye adatbázisból, amiről tudjuk mi is, hogy szar.
Még egy kérdés: AVG-nek megadható, hogy az adott mező értékeiből csak egy tartomány alapján számoljon? Pl. van a mezőben 1-7 érték, de én csak az 1-5 közötti értékek átlagát kérdezném le.
Nem vagyok perverz, csak haladok a korral. (Még mindig: Rock&roll feeling baby, rock&roll feeling.....)
-
PumpkinSeed
addikt
válasz martonx #3473 üzenetére
Tegyük fel, hogy ülsz egy vietnámi kávézóban és egy amerikai barátodnak írnál üzenetet, de a database server csak London-ban ezért 200ms lesz minden adatbázis lekérdezés nálad is meg a barátodnál is. De ha lesz egy vietnámban is meg amerikában is akkor ez valamivel gyorsabb lesz. Ez önmagában nem válaszolja meg a kérdést, de mivel message queue system-ből érkezik minden olyan művelet ami nem select ezért a szinkronizálási hibák elkerülése érdekében a vietnámi backend egy másik vietnámi master-be nyomja, nem londonra fog várni. Szóval megválaszoltam a kérdést?
Nem egymás mellett akarok 20 adatbázist, ha erre gondoltál. Azért használtam a végtelen szót, mert tulajdonképpen n mennyiségű ilyen-re van szükségem, és n lehetne 1 is meg 30 is. Kezdésnek egy, de ha valami terjeszkedik nem lehet azzal számolni, hogy csak eu-ban lesz szerver.
[ Szerkesztve ]
"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán
-
GreenIT
tag
válasz martonx #3488 üzenetére
Szerintem roviden irtam, de a kedvedert zanzasitva ismet leirom, ha hosszunak talalod, aminek megertesehez par ora kell, lapozz le az utolso mondathoz, ott a kerdes lenyege.
Ossze kell irnod a kapcsolataidat, gyorsan rajossz, hogy 2+x tablara van szukseged: NEV, CEG, es egyeb adatok - legyen csak cim es telefon az egyszeruseg kedveert - valamint datum es megjegyzes a valtozasok kovetesehez.
Gyorsan rajossz, hogy a NEV-hez es CEG-hez is tobb, sot tobbfele cim tartozhat, majd arra is rajossz, hogy a telefonnal meg bonyolultabb a helyzet, az tartozhat a NEV-hez, CEG-hez, sot a NEV-hez tartozo cimekhez es a CEG-hez tartozo cimekhez is.Legalabb haromfele valasztasod van:
1. A NEV-hez es CIM-hez is csinalsz tablakat kulon cimek es telefonok, valamint datum es megjegyzes mezokkel, es akkor a szemelyes es ceges adatok elvalnak egymastol, viszont tobb helyen lehet azonos adat.
2. Csinalsz egy harmadik tablat ADATOK neven es mindent abba teszel, lehetoleg minden tipusnak kulon mezovel (allando es ideiglenes lakcim, postacim, szekhely, telephely, telefontipusok, stb.) datum es megjegyzes - ekkor az adatrogzitok orulnek, mert konnyen rogzitheto, hogy adott idopontban adott indokkal milyen valtozasok tortentek.
3. Csinalsz egy harmadik tablat, amiben cim, cimtipus, telefon, teltipus, datum, megjegyzes mezok vannak, es akkor a tablak kozotti kapcsolatok jelentenek problemakat es lekerdezesek reven tudod kitalalni a helyzetet.Osszefoglalva: Az egyik modszer az adattarolas minimalizalasara, a masik az adatrogzites egyszerusegere, a harmadik az adatkapcsolatokra es lekerdezesekre fokuszal.
Nekem eddig az elso kettot sugalltak, hogy a normalizalasnal alapveto szempont, hogy ne legyenek parhuzamos adatok, es az emberi tenyezo kikuszobolese miatt az adatrogzitesnek egyszerunek es atlathatonak kell lennie. (A programozo pedig azert van, hogy a lekerdezeseket megoldja, es amugy is lesznek kesobb ujabb igenyek meg bonyolultabb lekerdezesekre.)
Egy programozo szerint ez mind marhasag, az adatrogzites egyszeri feladat, a lekerdezes viszont folyamatos, ezert mindent a lekerdezesekre kell tervezni.
Új hozzászólás Aktív témák
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Robot fűnyírók
- Kerékpárosok, bringások ide!
- Békésen legelészik a májusi hardvercsorda
- Luck Dragon: Asszociációs játék. :)
- Milyen belső merevlemezt vegyek?
- Genshin Impact (PC, PS4, Android, iOS)
- CASIO órák kedvelők topicja!
- sziku69: Fűzzük össze a szavakat :)
- A fociról könnyedén, egy baráti társaságban
- További aktív témák...
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest