- Computex 2024: monstrumhűtő a DeepCoolnál (videóval!)
- Computex 2024: szimpatikus Montech billentyűzetek a porondon
- Computex 2024: háznézőben a Montech asztalainál
- Computex 2024: kompakt AIO-k és tápegységek a Montech receptje alapján
- Computex 2024: a Ducky klaviatúrái sem restek felülni az analóg vonatra
- TCL LCD és LED TV-k
- Kormányok / autós szimulátorok topicja
- Amlogic S905, S912 processzoros készülékek
- Gaming notebook topik
- Computex 2024: beröffentette az AI-t az AMD
- iPad topik
- AMD GPU-k jövője - amit tudni vélünk
- Azonnali VGA-s kérdések órája
- Milyen monitort vegyek?
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
Hirdetés
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
-
Pénzt akar a WhatsAppból a Meta, az AI majd segít
it Új AI-eszközöket kapnak a cégnek, a Meta célja, hogy több bevételt szedjen ki a WhatsAppból.
-
SGF24 - Befutott a Monster Hunter Wilds legújabb előzetese
gp Az új rész jövőre érkezik, ennél pontosabb dátumot nem kaptunk még sajnos.
Új hozzászólás Aktív témák
-
bpx
őstag
válasz bambano #3100 üzenetére
Azért, mert akkor született a döntés a napok kihagyásáról, és az Oracle meg fogta magát, és ezt vette alapul. Kipróbáltam, a területi beállításoknak erre nincs hatása, tehát én hiába állítom pl. UK-ra, attól még nem fogja az 1752-t 355 naposnak számolni, hanem ugyanúgy 1582-t mondja rövidebbnek.
-
Novics
senior tag
Mivel olyan rendesek vagytok, hogy segítetek, azért hozok még egy hülye kérdést.
Egy készletnyilvántartó "programot" - access - kell készítenem, és egy elég hülye kimenetet várnak el.
A készlet okoz gondot. Először a nyitót kell megadni, aztán meg a bevételnél hozzá kell adni, a kiadásnál ki kell vonni, és ezt így görgetni. Excelben ugye könnyű, pl: G7=G6+E7-F7. E7-F7 egyszerű, de hogyan tudom megadni, hogy előző rekord készletértékéhez adja hozzá?Ami még tovább bonyolítja a dolgot, hogy a táblában lesz több gyerek, és nekik több ruhafajtájuk, de nekem külön kell, hogy Roza Lindának a piros bugyogói hogyan változtak, meg külön a kék mackónadrágjai, és ugyanez a többi gyereknél is. (gyerek max 12 lesz egy időben, de ruha az kb 30) Azért még próbálok egyezkedni, hogy ésszerűsítsük a dolgot, mert ~360 oldal - jóformán üres - oldal kinyomtatása...
Az mennyire favágó megoldás, hogy táblakészítő lekérdezéssel megcsinálom a táblákat gyerekenként, ruhánként, és aztán ott számoltatom a készletet? (Amit ugye még nem tudok. ) Csak utána meg az a gond, hogy ha jön egy új gyerek, akkor új táblák kellenek, random táblanévre meg nem tudok hivatkozni.A fontolva haladó. - 30 felett minden nap ajándék.
-
martonx
veterán
Szerintem teljesen rossz az alapállásod a feladathoz. Neked Accessben alap formokat, táblákat kell definiálnod, amiknek közük nincs a fejedben élő Excelhez.
Csinálsz egy formot, ahol bekéred a készlet mozgást, utána pedig Access SQL-el kezeled a többit. Ugyanakkor szólok, hogy szvsz nagyon nem az Access a megfelelő eszköz erre így 2016-ban, bár programozási tudás híján talán mégis (bár még akkor se, bár akkor semmi megoldás sem jó ).
Én kérek elnézést!
-
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.
-
martonx
veterán
Mondjuk Microsoft vonalon maradva Visual Studio LightSwitch 2015 (szólok előre, hogy ingyenes). Jobb, mint az Access, mert:
1. bármilyen teljes értékű SQL lehet alatta, mondjuk MS SQL
2. webes kimenetet generál neked, azaz Access el ellentétben bárhol bármikor, akárhány konkurens userrel tudjátok használni.Nem Microsoft vonalon is van egy csomó ehhez hasonló eszköz.
"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."
No ez az, dobd ki az egész eddigit, és írd újra azzal a megközelítéssel, amit fentebb mondtam. Bármilyen eszközzel is fogsz végül nekiállni, amit mondtam mindegyikre igaz lesz. 100%, hogy alapjaiban elhibázott az adat tábla struktúrád, és így nyilván a rájuk épülő formok is.Én kérek elnézést!
-
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.
-
Novics
senior tag
Megint van egy buta kérdésem.
Azt hogyan tudom elegánsan megoldani SQL-ben, hogy egy string első 3 karakterét ne vegye figyelembe. Favágó megoldás van RIGHT([id], (LEN([id])-3)), de gondolom van ennél szebb, hatékonyabb is. (Mondjuk még nem próbáltam ki, hogy működik-e. )A fontolva haladó. - 30 felett minden nap ajándék.
-
Novics
senior tag
válasz Apollo17hu #3113 üzenetére
Access nem ismeri, de van helyette MID, ami ugyanezt tudja.
A fontolva haladó. - 30 felett minden nap ajándék.
-
Thrawnad
senior tag
Sziasztok lenne egy kérdésem!
Nem vagyok igazán járatos az SQL-ben, ami kellett eddig össze ollóztam.
Most viszont kellene egy lekérdezés.
A táblából a feltételnek megfelelő legnagyobbat ki tudom kérni:mysql_query( "SELECT * FROM bejelentkezesek where nap='$ma' and honnan = '1' and mikor=(select max(mikor) from bejelentkezesek where nap='$ma' and honnan = '1') ")
Nekem az egyel, illetve kettővel kisebbre is szükségem lenne.
Köszönettel:
Thrawnad
Hardver hibára ritkán van jó szoftver...
-
DS39
nagyúr
válasz Thrawnad #3115 üzenetére
Szia!
Én így csinálnám:
select top 3 *
from tablanev
where (..egyéb feltételek..)
order by datum descközben eszembe jutott mysql-ben nincs top 3, akkor limit 3 a végére, ahogy a kolléga írta.
lényege az lett volna, hogy felesleges a belső select, ha a legutolsó (vagy a 3 utolsó) bejelentkezés adatait szeretnéd lekérni.[ Szerkesztve ]
-
fordfairlane
veterán
válasz Thrawnad #3115 üzenetére
SELECT * FROM bejelentkezesek WHERE mikor IN (SELECT mikor FROM bejelentkezesek WHERE DATE(nap) = CURRDATE() AND honnan = '1' ORDER BY mikor DESC LIMIT 3)
(PHP alatt lehetőleg NE használd a mysql_query függvényt!)
[ Szerkesztve ]
x gon' give it to ya
-
Thrawnad
senior tag
válasz fordfairlane #3118 üzenetére
Nos php alatt kellene.
Itt a kód részlet.
Az első része fut a második amibe bele tettem amit írtál az nem.$csekkolotabla = mysql_query( "SELECT * FROM bejelentkezesek where nap='$ma' and honnan = '1' and mikor=(select max(mikor) from bejelentkezesek where nap='$ma' and honnan = '1') ");
$sor_1 = mysql_fetch_array( $csekkolotabla ) ;
$mikor_1 = $sor_1[mikor];
$csekkolotabla = mysql_query( " SELECT * FROM bejelentkezesek WHERE mikor IN (SELECT mikor FROM bejelentkezesek WHERE DATE(nap) = CURRDATE() AND honnan = '1' ORDER BY mikor DESC LIMIT 3)");
$sor_1_1 = mysql_fetch_array( $csekkolotabla ) ;
$mikor_1_1= $sor_1_1[mikor];Így tudsz segíteni?
Hardver hibára ritkán van jó szoftver...
-
Pilács
senior tag
Sziasztok, elakadtam. Segítséget kérek:
Van egy weboldal, ahonnan le kell szednem egy .csv fájlt, majd annak tartalmát szerektálva betölteni egy táblába. (MS SQL alól)
PowerShell utasítással leszedem a fájlt SQL alól (EXEC xp_cmdshell 'powershell .....'), majd létrehozok ideiglenes táblát, abba BULK INSERT, majd ebből kiválogatva beszúrom egy táblába, amit előtte kiürítek.
De az a baj, hogy van amikor nem jön le a fájl, és a procedúra kiüríti a végső táblát, és nem tölt be semmit. Azt kellene megoldanom, hogy ha nem elérhető a fájl, akkor próbálkozzon mondjuk 3x letölteni, majd ha ez után is sikertelen a letöltés, akkor álljon meg a művelet, minden adat marad a végső táblában. JOB-ot csináltam belőle, óránként kellene frissíteni. Ez megy is, ha a fájl letölthető, de van hogy 1-2 óráig üres a tábla. Hogyan tudom kezelni SQL alól a letöltési hibát, valamint megoldani, hogy 3x próbálozzon újra, és ha sikertelen, akkor majd a következő JOB periódusidőben újra megpróbálja?
Köszönöm!
Ajándék szesznek ne nézd a fokát!
-
martonx
veterán
Hát nem SQL-ből Azaz fogod és írsz egy PowerShell scriptet mondjuk, ami ütemezve fut (Windows scheduler ugye). És a scripten belül azzal kezded, hogy letöltöd a file-t, ha ez sikerült, akkor tovább mész, és üríted a temp táblát bulk insertelsz. Ha ez sikerült, akkor mehet a végleges betöltés.
Én kérek elnézést!
-
Louro
őstag
Sziasztok!
Lehet elég bagatel kérdést fogok feltenni, de hátha van rá megoldás. (Vagyis van, mert Excel makróval meg tudom oldani.)
Adott egy .sql fájl. Benne rengeteg trigger (insert, update, temptáblák létrehozása,...). Van arra lehetőség DBMS Scheduler nélkül valahogy beütemezni?
Környezet: Oracle
Elérhető programok: Toad és PL SQL Dev 9Windows ütemező nem tudom milyen nyelvet igényel, de lehet van mégegyszerűbb megoldásotok is. Az Excel makróval az a gondom, hogy akkor az Excelt teljesen kilövöm a gépen, ha fut.
Válaszotok előre is köszönöm.
Mess with the best / Die like the rest
-
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!
-
bpx
őstag
Kell egy adatbázis job, ott van rá az adatbázis saját ütemezője. Mi a baj azzal?
DBMS_SCHEDULER helyett van DBMS_JOB is, de az a régi módszer, nem ajánlom, arról le kellene szokni.Vagy ha nagyon Windows jobot akarunk (inkább ne), akkor kb. ennyit kell beütemezni:
set ORACLE_HOME=...
set ORACLE_SID=...
set PATH=%ORACLE_HOME%\bin;%PATH%
sqlplus user/password @script.sql -
Louro
őstag
Szia,
powershell elindul. Régen még tanultam is. Megpróbálom elsőként abban megoldani.
Nem ragaszkodok a Windows saját ütemezőjéhez, de mivel nem vagyok admin, nem vagyok DBA, így korlátozottak a lehetőségeim. A DBMS Scheduler-ért küzdünk, de az nem 100%, hogy meglesz. Így a meglévő eszközökhöz nyúlnék.
Mess with the best / Die like the rest
-
Louro
őstag
Sziasztok!
Olyan lehet case-ben vizsgálni, hogy
case when 1=1 and 2=2 and 3=3 and
case when 4=4 and 5=5 then 'true' else 'false' end then 'jó' else 'nem jó' endHasonló vizsgálatot kellene végeznem, de nem találtam sehol se megoldást rá.
Lehetne rengeteg egymásban ágyazott case-zel megoldani, de reméltem, hogy pár sorban ezt letudom.
Nektek van egyéb ötletetek?
Mess with the best / Die like the rest
-
Louro
őstag
-
Louro
őstag
válasz Apollo17hu #3132 üzenetére
Az a THEN 1, azért problémás és igyekeztem röviden megúszni a kódsort. A THEN után is még 10 sor legalább, amiből az eredmény származik. Megoldhatnám, hogy lekezelek külön mindent, de akkor a THEN utáni részt kellene sokszor bemásolni.
Mess with the best / Die like the rest
-
Kommy
veterán
Lehetséges olyan lekérdezést írni, hogyha az egyik feltétel igaz, mondjuk 1 az értéke akkor az egyik oszlopba másik adatot írjunk.
Egy példa, egy javítást egyeztetünk az ügyféllel, ha kéri a javítást akkor a megjelenítendő összeg az alkatrész + a javítás összege, de ha nem kéri a javítást akkor egy előre megállapított összeg. És a fontos az lenne, hogy nekem vagy az összeget vagy a z előre megállapított összeget írná ki.
-
tazkir
csendes tag
Sziasztok,
Bármilyen megoldás érdekel, de semmit nem konyítok a programozáshoz.
Van egy weboldal, ahol le lehet kérdezni egy listát, de sajnos csak 20 sort hoz be egyszerre.
Hogy tudnám egyszerűen elérni, hogy az általam leszűrt kategóriára az összes találatot lehozza egy oldalra. Ne kelljen a következő oldal gombot nyomkodni, mert, akár 20 oldal is lehet.üdv,
-
#30734848
törölt tag
Ha van egy olyan karakterláncom, amely csak számokat tartalmaz pl: '123456123'.
Oracel sql-ben mivel tudom visszaadni az egyedi értékekeket?
Tehát azt szeretném látni ebből a listából, hogy '123'.
Erre mi lehet a legegyszerűbb megoldás? Regexp_substr?Előre is köszönöm!
[ Szerkesztve ]
-
#30734848
törölt tag
Az előbb rosszul fogalmaztam, elnézést, csak már nem volt időm még egyszer szerkeszteni. Ez a számsor két mezőnek az összefűzéséből jön létre (Az számok egytől nyolcig információt jelölnek.). Ezért van szükség az ismétlődések kiszűrésére
Szóközzel lehet érthetőbb:
('1 2 3 4 1 2') -- > ('1 2 3 4')
Tehát az a kérdés, hogy mivel lehet a számok ismétlődéseit kiszűrni, hogy minden érték csak egyszer szerepeljen.
[ Szerkesztve ]
-
balagedebr
tag
Sziasztok!
Valakinek nincs meg esetleg a 'SQL-Iekérdezések földi halandóknak' című könyv CD melléklete?
Köszi!
-
bpx
őstag
válasz #30734848 #3142 üzenetére
Hát én egy regexpet ilyenkor meg nem írok már, de a sima SQL még belefér egy hosszú nap után:
create table t1 (text varchar2(20 char));
insert into t1 values ('123456123');
insert into t1 values ('12342');
insert into t1 values ('229898012342');
select text from t1;
TEXT
--------------------
123456123
12342
229898012342
select
text,
listagg(c, '') within group (order by c) as uniq_c
from
(
select
distinct text, substr(text, level, 1) as c
from
t1
connect by level <= length(text)
)
group by
text
;
TEXT UNIQ_C
-------------------- --------------------
12342 1234
123456123 123456
229898012342 0123489 -
bambano
titán
ha már piszkos dolgokat művelünk
itt egy kezdemény postgresql-ben:select szo,s.a from worduniq,generate_series(1,char_length(szo)) as s(a);
tmp=> select * from worduniq;
szo
-----------------------
123456123
123456123223453473456
229898012342
(3 rows)
szo | a
-----------------------+----
123456123 | 1
123456123 | 2
123456123 | 3
123456123 | 4
123456123 | 5
123456123 | 6
123456123 | 7
123456123 | 8
123456123 | 9egy substring, egy distinct select és az eredmény összepakolása van hátra. ezeket, egyszerűségük folytán, az olvasóra bízzuk
[ Szerkesztve ]
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
Új hozzászólás Aktív témák
Állásajánlatok
Cég: Alpha Laptopszerviz Kft.
Város: Pécs
Cég: Ozeki Kft.
Város: Debrecen