- Fórumok
- Szoftverfejlesztés
- SQL kérdések
- (kiemelt téma)
- Meglepően árazta az AMD a Ryzen AI Halo minigépet
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- VR topik
- AMD FX
- Milyen ÚJ notebookot vegyek?
- Napokon belül váratlan versenyzővel bővül a VGA-piac
- Milyen TV-t vegyek?
- HiFi műszaki szemmel - sztereó hangrendszerek
- Milyen processzort vegyek?
- Milyen egeret válasszak?
-
3200 - 3101
6041 - 6001 6000 - 5901 5900 - 5801 5800 - 5701 5700 - 5601 5600 - 5501 5500 - 5401 5400 - 5301 5300 - 5201 5200 - 5101 5100 - 5001 5000 - 4901 4900 - 4801 4800 - 4701 4700 - 4601 4600 - 4501 4500 - 4401 4400 - 4301 4300 - 4201 4200 - 4101 4100 - 4001 4000 - 3901 3900 - 3801 3800 - 3701 3700 - 3601 3600 - 3501 3500 - 3401 3400 - 3301 3300 - 3201 3200 - 3101 3100 - 3001 3000 - 2901 2900 - 2801 2800 - 2701 2700 - 2601 2600 - 2501 2500 - 2401 2400 - 2301 2300 - 2201 2200 - 2101 2100 - 2001 2000 - 1
-
Fórumok
PROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
Új hozzászólás Aktív témák
-
sztanozs
veterán
Hogyhogy a getdate-tel kinullázza az órákat? Annak a pontos időt (date+time) kellene visszaadnia. Milyen SQL szerver ez?
-
tm5
tag
-
Petya25
őstag
-
1eske
tag
Akkor rakj még bele egy GETDATE()-et inkább és látod a szerver szerinti időt:
SELECT dt, GETDATE() s_dt, var1, var2 FROM t1 WHERE DATEDIFF(second, GETDATE(), dt) >= -5Amúgy én nem a kliens szerinti időt illeszteném be az inserttel, hanem simán a GETDATE()-et:
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO t1 (dt,val1,val2) VALUES (GETDATE(),?,?)");
pstmt.setString(1, v1);
pstmt.setString(2, v2 );
pstmt.executeUpdate();És még némi a TimeZone-ról: http://stackoverflow.com/a/20086589
A szerver és a kliens ugyanazon a gépen fut, sőt ugyanabból a Java processből is a teszt erejéig.
A megoldásod majdnem jó volt GETDATE()-tel, csak az órákat így kinullázza sajnos.
-
sztanozs
veterán
Akkor rakj még bele egy GETDATE()-et inkább és látod a szerver szerinti időt:
SELECT dt, GETDATE() s_dt, var1, var2 FROM t1 WHERE DATEDIFF(second, GETDATE(), dt) >= -5Amúgy én nem a kliens szerinti időt illeszteném be az inserttel, hanem simán a GETDATE()-et:
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO t1 (dt,val1,val2) VALUES (GETDATE(),?,?)");
pstmt.setString(1, v1);
pstmt.setString(2, v2 );
pstmt.executeUpdate();És még némi a TimeZone-ról: http://stackoverflow.com/a/20086589
-
1eske
tag
Próbáld meg plusz mezőbe berakni a datediff-et is, és úgy látod, hogy mit számol:
SELECT dt, DATEDIFF(second, GETDATE(), dt) els, var1, var2 FROM t1 WHERE DATEDIFF(second, GETDATE(), dt) >= -5Esetleg látatlanban még az lehet, hogy a feeding rendszer és az adatbázis nem azonos timezone-on van és ez okozhat problémát.
Igen, így ki is jött a hiba. A különbség 51624 másodperc, tehát valami időzóna lehet, vagy fene se tudja micsoda.

-
sztanozs
veterán
Ez is mindent visszaad.

Így rakom bele a DB-be a rekordokat:
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO t1 (dt,val1,val2) VALUES (?,?,?)");
pstmt.setTimestamp(1, java.sql.Timestamp.valueOf(java.time.LocalDateTime.now()) );
pstmt.setString(2, v1);
pstmt.setString(3, v2 );
pstmt.executeUpdate();Lehet, hogy nem timestamp-pel kéne berakni?
Próbáld meg plusz mezőbe berakni a datediff-et is, és úgy látod, hogy mit számol:
SELECT dt, DATEDIFF(second, GETDATE(), dt) els, var1, var2 FROM t1 WHERE DATEDIFF(second, GETDATE(), dt) >= -5Esetleg látatlanban még az lehet, hogy a feeding rendszer és az adatbázis nem azonos timezone-on van és ez okozhat problémát.
-
1eske
tag
Ez is mindent visszaad.

Így rakom bele a DB-be a rekordokat:
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO t1 (dt,val1,val2) VALUES (?,?,?)");
pstmt.setTimestamp(1, java.sql.Timestamp.valueOf(java.time.LocalDateTime.now()) );
pstmt.setString(2, v1);
pstmt.setString(3, v2 );
pstmt.executeUpdate();Lehet, hogy nem timestamp-pel kéne berakni?
-
tm5
tag
Valakinek tippje az alábbi esetre MS-SQL-ben?
Adott cikk ára időnként változik és egy adott naptól érvényes a következő árváltozásig.
Na az eladáshoz kellene utólag hozzákeresnem az eladás napi érvényes árat.
Értelem szerűen egy cikkhez tetszőleges számú ár lehetséges (akár csak 1 is lehet) , de a megfelelőt kellene kitalálni.Két tábla, cikkek eladás és cikk árak.
eladás
cikk, elad_datum
alma, 2016.07.01
és
cikk árak
cikk, ar, erv_datumtol
alma, 100, 2015.12.01
alma, 110, 2016.02.01
alma, 120, 2016.06.01 --ez kellene
alma, 150, 2016.09.01Valami elad_datum-tól kisebb listán, csökkenőben top 1-en gondolkodom...
valami ilyesmi kellene:
SELECT *
FROM
(SELECT e.cikk, e.elad_datum, a.ar, row_number() OVER (PARTITION BY a.cikk ORDER BY a.erv_datumtol DESC) rn
FROM eladas e,
INNER JOIN cikk_arak a ON (e.cikk = a.cikk)
WHERE a.erv_datumtol í <= e.elad_datum)
WHERE rn = 1 -
sztanozs
veterán
Sziasztok!
Szeretném lekérdezni azokat az elemeket egy táblából ami a lekérdezés időpontjától számítva 5 mp-ig visszamenőleg lettek létrehozva.
A tábla így néz ki:
CREATE TABLE t1 (dt DATETIME,var1 VARCHAR2(50),var2 VARCHAR2(50))Ezt az alábbi lekérdezéssel tenném meg:
SELECT dt, var1, var2 FROM t1 WHERE dt > DATEADD(second, -5, getdate())A baj ezzel a lekérdezéssel, hogy minden rekordot kiad.
Kiírattam a dt értékét is, de jónak tűnik a formátuma: 2016-10-06 11:20:27.511
Mi lehet a baj?
Megpróbálhatod ezt is:
SELECT dt, var1, var2 FROM t1 WHERE DATEDIFF(second, GETDATE(), dt) >= -5
Ha ez is mindent viasszaad, akkor nem jók a a dt értékek az adatbázisban (jövőbeni idő/dátum van bennük). -
1eske
tag
Sziasztok!
Szeretném lekérdezni azokat az elemeket egy táblából ami a lekérdezés időpontjától számítva 5 mp-ig visszamenőleg lettek létrehozva.
A tábla így néz ki:
CREATE TABLE t1 (dt DATETIME,var1 VARCHAR2(50),var2 VARCHAR2(50))Ezt az alábbi lekérdezéssel tenném meg:
SELECT dt, var1, var2 FROM t1 WHERE dt > DATEADD(second, -5, getdate())A baj ezzel a lekérdezéssel, hogy minden rekordot kiad.
Kiírattam a dt értékét is, de jónak tűnik a formátuma: 2016-10-06 11:20:27.511
Mi lehet a baj?
-
Petya25
őstag
Valakinek tippje az alábbi esetre MS-SQL-ben?
Adott cikk ára időnként változik és egy adott naptól érvényes a következő árváltozásig.
Na az eladáshoz kellene utólag hozzákeresnem az eladás napi érvényes árat.
Értelem szerűen egy cikkhez tetszőleges számú ár lehetséges (akár csak 1 is lehet) , de a megfelelőt kellene kitalálni.Két tábla, cikkek eladás és cikk árak.
eladás
cikk, elad_datum
alma, 2016.07.01
és
cikk árak
cikk, ar, erv_datumtol
alma, 100, 2015.12.01
alma, 110, 2016.02.01
alma, 120, 2016.06.01 --ez kellene
alma, 150, 2016.09.01Valami elad_datum-tól kisebb listán, csökkenőben top 1-en gondolkodom...
-
Froclee
őstag
-
MineFox54
őstag
Szia!
select tk.raktszam, tk.cim, tk.szerzo, tk.tantargy, tk.ar, cs.megjegyzes, cs.osztaly
from tankonyv tk
join csoportok cs on cs.raktszam = tk.raktszam
where cs.osztaly = '$osztaly'off: tök jó, ez az új programkód formázó, tudom nem mostani újítás, de ez tényleg hasznos fejlesztés volt. Köszi PH! csapat

Azóta túrtam egy kicsit a netet, és megoldódott.
De azért kösz
-
DS39
nagyúr
Sziasztok!
Megint kérdésem lenne.
Van egy ilyen lekérdezésem.
SELECT raktszam,cim,szerzo,tantargy,ar FROM tankonyv un WHERE raktszam in (SELECT raktszam FROM csoportok WHERE osztaly = '$osztaly')
Ez így működik, de én ki szeretném írni a tankönyv adatai mellé a csoportok táblában lévő megjegyzés mező tartalmát is.
Ezt hogyan kéne csinálnom?Szia!
select tk.raktszam, tk.cim, tk.szerzo, tk.tantargy, tk.ar, cs.megjegyzes, cs.osztaly
from tankonyv tk
join csoportok cs on cs.raktszam = tk.raktszam
where cs.osztaly = '$osztaly'off: tök jó, ez az új programkód formázó, tudom nem mostani újítás, de ez tényleg hasznos fejlesztés volt. Köszi PH! csapat

-
MineFox54
őstag
Sziasztok!
Megint kérdésem lenne.
Van egy ilyen lekérdezésem.
SELECT raktszam,cim,szerzo,tantargy,ar FROM tankonyv un WHERE raktszam in (SELECT raktszam FROM csoportok WHERE osztaly = '$osztaly')
Ez így működik, de én ki szeretném írni a tankönyv adatai mellé a csoportok táblában lévő megjegyzés mező tartalmát is.
Ezt hogyan kéne csinálnom? -
MineFox54
őstag
-
bambano
titán
-
MineFox54
őstag
-
sztanozs
veterán
-
MineFox54
őstag
Nem adok mást.
Ez csak a tankönyvek listája, hogy miből lehet választani. Itt csak évfolyam van megadva.
Az hogy ki mit kap, az másik tábla. -
bambano
titán
de neki a tól-ig-ja nem év, hanem gimnáziumi osztály "évadjelző" vagy hogy mondjam.
Mármint hogy évfolyam? Hát akkor tényleg nem jó a YEAR sem, inkább INT UNSIGNED esetleg DECIMAL.
jaja, ezt a szót kerestem sokáig

-
fordfairlane
veterán
de neki a tól-ig-ja nem év, hanem gimnáziumi osztály "évadjelző" vagy hogy mondjam.
Mármint hogy évfolyam? Hát akkor tényleg nem jó a YEAR sem, inkább INT UNSIGNED esetleg DECIMAL.
-
bambano
titán
és akkor most már azt is tudjuk szerintem, hogy azért volt varcharként megadva, hogy a speciális osztályokat is tudják jelezni.
tehát mást ad a 11. osztálynak matekból és mást ad a 11c-nek, ami speciális matek osztály.
-
fordfairlane
veterán
-
bambano
titán
mert ha az évtől és az évig varchar, akkor az évtől<='11' aposztrófosan szintaktikailag helyes.
de ha stringként hasonlítod össze a 9-et meg a 11-et, akkor mivel a 11 1-essel kezdődik, ezért az kisebb, mint a 9. ezért nem talált neked semmit. numerikusan meg a 9 a kisebb, mint ahogy te hitted.
-
MineFox54
őstag
Basszus. Varchar-ként volt megadva az évtől, és az évig az adatbázisban. De hogy milyen megfontolásból, azt nem tudom.
Egyébként csak szimplán nem hozott fel adatot.
-
rum-cajsz
őstag
-
sztanozs
veterán
Sziasztok!
Van egy ilyen lekérdezésem.
SELECT * FROM tankonyv WHERE evtol<='$osztaly' AND evig>='$osztaly' AND tantargy='$tantargy'Ha az evtol-nél az adatbázisban mondjuk 9 van, az evig-nél 12, a tantárgy változó értéke Matematika, és az osztály értéke 11, akkor nem találja meg a könyvet.
Miért?Nem lehet, hogy az evtol és az evig az nem szám, hanem szöveges mezőként van definiálva nálad?
-
bambano
titán
Postgresql:
CREATE TABLE tankonyv (evtol integer,evig integer,tantargy text);
CREATE TABLE
INSERT INTO tankonyv SELECT 9,12,'Matematika' ;
tmp=> SELECT * FROM tankonyv WHERE evtol<='11' AND evig>='11' AND tantargy='Matematika';
evtol | evig | tantargy
-------+------+------------
9 | 12 | Matematika
(1 row)
tmp=> SELECT * FROM tankonyv WHERE evtol<=11 AND evig>=11 AND tantargy='Matematika';
evtol | evig | tantargy
-------+------+------------
9 | 12 | Matematika
(1 row) -
MineFox54
őstag
Értelek, akkor viszont nem az adatbázisban van a hiba, mert ez nálam tökéletesen működik:
CREATE TABLE tankonyv (evtol NUMBER,evig NUMBER,tantargy VARCHAR2(10));
INSERT INTO tankonyv SELECT 9,12,'Matematika' FROM dual;
SELECT * FROM tankonyv WHERE evtol<='11' AND evig>='11' AND tantargy='Matematika';
DROP TABLE tankonyv PURGE;PHPMyadminban futtatva sem jó.
-
rum-cajsz
őstag
Értelek, akkor viszont nem az adatbázisban van a hiba, mert ez nálam tökéletesen működik:
CREATE TABLE tankonyv (evtol NUMBER,evig NUMBER,tantargy VARCHAR2(10));
INSERT INTO tankonyv SELECT 9,12,'Matematika' FROM dual;
SELECT * FROM tankonyv WHERE evtol<='11' AND evig>='11' AND tantargy='Matematika';
DROP TABLE tankonyv PURGE; -
bambano
titán
-
MineFox54
őstag
-
MineFox54
őstag
-
bambano
titán
Sziasztok!
Van egy ilyen lekérdezésem.
SELECT * FROM tankonyv WHERE evtol<='$osztaly' AND evig>='$osztaly' AND tantargy='$tantargy'Ha az evtol-nél az adatbázisban mondjuk 9 van, az evig-nél 12, a tantárgy változó értéke Matematika, és az osztály értéke 11, akkor nem találja meg a könyvet.
Miért?szerintem ha aposztrófok közé teszed az osztályt, akkor azt szövegként kezeli, és a lexikografikus rendezésben a '11'::text az kisebb, mint a '9'::text.
-
rum-cajsz
őstag
Sziasztok!
Van egy ilyen lekérdezésem.
SELECT * FROM tankonyv WHERE evtol<='$osztaly' AND evig>='$osztaly' AND tantargy='$tantargy'Ha az evtol-nél az adatbázisban mondjuk 9 van, az evig-nél 12, a tantárgy változó értéke Matematika, és az osztály értéke 11, akkor nem találja meg a könyvet.
Miért?Szerintem fordítva akartad az évtől és évig mezőknél a relációkat.
Most a 9-nél kisebb egyenlő és 12-nél nagyobb egyenlő osztályokat fogja keresni. -
MineFox54
őstag
Sziasztok!
Van egy ilyen lekérdezésem.
SELECT * FROM tankonyv WHERE evtol<='$osztaly' AND evig>='$osztaly' AND tantargy='$tantargy'Ha az evtol-nél az adatbázisban mondjuk 9 van, az evig-nél 12, a tantárgy változó értéke Matematika, és az osztály értéke 11, akkor nem találja meg a könyvet.
Miért? -
martonx
veterán
Hopp, és közben meg is csináltam.
Ez lett a végső megoldás:
WITH AreasCTE AS
(
SELECT AreaID, AreaName, ParentAreaID,
cast(AreaName AS varchar(255)) AS AreaPath
FROM dbo.Area
WHERE ParentAreaID is null
UNION ALL
SELECT a.AreaID, a.AreaName, a.ParentAreaID,
cast(s.AreaPath + ' > ' + a.AreaName AS varchar(255)) as AreaPath
FROM Area a
INNER JOIN AreasCTE s ON a.ParentAreaID = s.AreaID
)
SELECT AreaID, AreaPath
FROM AreasCTE ac
ORDER BY 1Viszont a hülye SQL fiddle meghal rajta, miközben lokális SQL szerveren szépen működik, és ez a lényeg.
-
martonx
veterán
Sziasztok,
A probléma szemléltetésére csináltam egy SqlFiddle-t. Csináltam egy rekurzív select-et (ami valószínűleg nem is az igazi), ráadásul nekem nem is ilyen végeredmény kellene, de kiindulásnak talán jó.
Szóval a példában adottak országok, megyék, városok. A példából nekem valami ilyet kellene kihoznom:AreaId, AreaFlow
4, Canada > Saskatchewan > Saskatoon
6, United States > Florida > MiamiMit kellene a rekurzív selectemen módosítani, hogy ezt a kimenetet adja?
-
DopeBob
addikt
Akkor viszont:
with st as
(
select 'K10' as text from dual union all
select 'K12' as text from dual union all
select 'K13' as text from dual union all
select 'K99' as text from dual
),
data as
(
select 1 as value from dual
)
select
data.value,
st.text
from
st,
data
order by
data.value,
st.text
;
VALUE TEXT
---------- ----
1 K10
1 K12
1 K13
1 K99
Köszönöm szépen!
-
bpx
őstag
Akkor viszont:
with st as
(
select 'K10' as text from dual union all
select 'K12' as text from dual union all
select 'K13' as text from dual union all
select 'K99' as text from dual
),
data as
(
select 1 as value from dual
)
select
data.value,
st.text
from
st,
data
order by
data.value,
st.text
;
VALUE TEXT
---------- ----
1 K10
1 K12
1 K13
1 K99 -
DopeBob
addikt
-
bpx
őstag
Sziasztok,
PL\SQL-ben, sima select lekérdezéssel meg lehet valahogy oldani hogy egy lekérdezés eredményénél minden sorból 4-et csináljon, mind a négyhez más statikus szöveget rendeljen? DB kapcsolat nincs, kliens programon keresztül lehet ennyit megtenni, és a másik program betöltőfájlját kellene így előállítani.
hl a lekérdezés ered ménye mondjuk egy mező 1, akkor nekem ez kellene
1; K10
1; K12
1; K13
1; K99A PL/SQL kód az adatbázisban fut szerver oldalon, és nem kliens oldalon, szóval DB kapcsolat nélkül nem fog futni.
-
DopeBob
addikt
Sziasztok,
PL\SQL-ben, sima select lekérdezéssel meg lehet valahogy oldani hogy egy lekérdezés eredményénél minden sorból 4-et csináljon, mind a négyhez más statikus szöveget rendeljen? DB kapcsolat nincs, kliens programon keresztül lehet ennyit megtenni, és a másik program betöltőfájlját kellene így előállítani.
hl a lekérdezés ered ménye mondjuk egy mező 1, akkor nekem ez kellene
1; K10
1; K12
1; K13
1; K99 -
tm5
tag
Hát inner join esetén csak azok a rekordok jönnek vissza amelyek mindkét táblában szerepelnek.
Szerintem inkább egy left outer join kellene ahol a baloldali tábla (a) olyan, hogy minden ügyfél benne van:SELECT *
FROM a
LEFT OUTER JOIN b ON (a.id = b.id)Ha pedig olyan a két tábla, hogy mindegyikben lehet olyan ügyfélrekord, ami nincs a másikban, akkor a LEFT helyére FULL-t kellene írni.
-
Ursache
senior tag
Sziasztok!
Van 2 táblám. Az ID mindkettőben a kulcs, így ahol az azonos ott ugyan arról az ügyfélről beszélünk.
Úgy szeretném össze olvasztani őket, hogy az ügyfél minden adata a 2 táblából látszódjon egy táblában.
Régen használtam már SQL-r, valami INNER JOIN utasításra emlékszem, de már nem tiszta mit mivel kell csinálni.
Tudna valaki segíteni? -
PowerBuldog
veterán
Sziasztok!
Van 2 táblám. Az ID mindkettőben a kulcs, így ahol az azonos ott ugyan arról az ügyfélről beszélünk.
Úgy szeretném össze olvasztani őket, hogy az ügyfél minden adata a 2 táblából látszódjon egy táblában.
Régen használtam már SQL-r, valami INNER JOIN utasításra emlékszem, de már nem tiszta mit mivel kell csinálni.
Tudna valaki segíteni? -
#30734848
törölt tag
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 0123489Köszönöm!
-
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

közben jobban megnézve Zeratul hsz-ét, ugyanerre a megoldásra jutottam.
-
bambano
titán
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 0123489ha 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

-
bpx
őstag
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.
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 -
Apollo17hu
őstag
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.
Regexp függvényekkel próbálkozz.
-
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!
-
Novics
senior tag
-
bambano
titán
-
Novics
senior 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.
Most lehet, hogy bődületes baromságot mondok, de group by?
-
#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.
-
bpx
őstag
Mi az, hogy egyedi érték ebben a környezetben? Mi alapján marad az 123456123-ból 123?
-
#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!
-
tazkir
csendes tag
Szia,
Erre nem is gondoltam, hiszen kézi nyomkodással elérhető az adat, csak ahány oldal annyival szorzódik a felhasznált idő rá, valamint a régi oldalon egyben lejött az új design óta van a 20 soros limit.
Köszi, az infót
-
Louro
őstag
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,
Ez adathalászat. Okkal vannak limitációk. A Power BI eszközökkel létezik megoldás rá, de az nem SQL.
Talán így kezdenék el keresni.
Youtube: Power Query Importing External data -
martonx
veterán
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,
Írsz a weboldal készítőjének?

-
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,
-
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.
Közben rájöttem Case-el megoldható
pl.:CASE nemker = 1 THEN "2000" ELSE Díj END as Fizentendő
-
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.
-
Louro
őstag
Úgy is csinálhattad volna, hogy
CASE
WHEN
1=1 AND 2=2 AND 3=3 AND 4=4 AND 5=5 THEN 1
WHEN
1=1 AND 2=2 AND 3=3 AND ... THEN ...
ENDés akkor nem kell egymásba ágyaznod őket.
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.
-
Apollo17hu
őstag
Úgy is csinálhattad volna, hogy
CASE
WHEN
1=1 AND 2=2 AND 3=3 AND 4=4 AND 5=5 THEN 1
WHEN
1=1 AND 2=2 AND 3=3 AND ... THEN ...
ENDés akkor nem kell egymásba ágyaznod őket.
-
Louro
őstag
Végül így oldottam meg, ahogy te.
case when 1=1 and 2=2 and 3=3 t then
case when 4=4 and 5=5 then 1
end
endA megoldásod esetén a másik két vizsgálatot nem végezné el, mert az első feltételnél már teljesülne.
-
martonx
veterán
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?
case when 1=1 and 2=2 and 3=3 then 'valami'
when 4=4 and 5=5 then 'más valami'
else 'még más valami'vagy valami ilyesmi szokott átlag SQL-ekben lenni a szintaxis. Már ha ezt akartad kérdezni

-
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?
-
Louro
ő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.sqlSzia,
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.
-
bpx
ő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.
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 -
Pilács
senior tag
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.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.

-
Froclee
ő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.
-
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.
-
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. -
Pilács
senior tag
-
bambano
titán
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!
miért sql-ből akarsz lekezelni egy nem sql-es hibát?
-
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!
-
Thrawnad
senior tag
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!)
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?
-
fordfairlane
veterán
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
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!)
-
DS39
nagyúr
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
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. -
martonx
veterán
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
Kérd le a Limit 3-at, és dob el az elsőt.
-
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
-
Novics
senior tag
esetleg SUBSTR(id, 4)
Access nem ismeri, de van helyette MID, ami ugyanezt tudja.

-
Apollo17hu
őstag
-
Novics
senior tag
-
martonx
veterán
Hát nem igazán van erre szebb megoldás.
-
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.
) -
Novics
senior tag
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. -
martonx
veterán
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.
Alapvetően nem tűnik rossznak az adatbázis struktúrád, bár csak felületesen futottam át.
-
Novics
senior tag
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.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.
-
martonx
veterán
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.
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. -
Novics
senior tag
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ó
).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.
-
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ó
).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.
-
martonx
veterán
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.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ó
). -
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. -
bpx
őstag
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.
Új hozzászólás Aktív témák
-
3200 - 3101
6041 - 6001 6000 - 5901 5900 - 5801 5800 - 5701 5700 - 5601 5600 - 5501 5500 - 5401 5400 - 5301 5300 - 5201 5200 - 5101 5100 - 5001 5000 - 4901 4900 - 4801 4800 - 4701 4700 - 4601 4600 - 4501 4500 - 4401 4400 - 4301 4300 - 4201 4200 - 4101 4100 - 4001 4000 - 3901 3900 - 3801 3800 - 3701 3700 - 3601 3600 - 3501 3500 - 3401 3400 - 3301 3300 - 3201 3200 - 3101 3100 - 3001 3000 - 2901 2900 - 2801 2800 - 2701 2700 - 2601 2600 - 2501 2500 - 2401 2400 - 2301 2300 - 2201 2200 - 2101 2100 - 2001 2000 - 1
-
Fórumok
PROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Fórumok
- Szoftverfejlesztés
- SQL kérdések
- (kiemelt téma)
- Spórolós topik
- A HMD majdnem minden komponense érzi a Vibe-ot
- Samsung Galaxy Felhasználók OFF topicja
- Meglepően árazta az AMD a Ryzen AI Halo minigépet
- Milyen autót vegyek?
- Óra topik
- exHWSW - Értünk mindenhez IS
- Milyen routert?
- Villanyszerelés
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- További aktív témák...
- Vostro 3590 15.6" FHD i3-10110U 16GB DDR4 256GB NVMe SSD (PCIe 4.0) magyar bill gar
- Apple iPhone 14 Pro Max 128GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung 850 PRO 2.5 512GB SATA3 SSD
- Apple iPhone 15 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Odyssey G3 S24AG320NU VA Monitor! 1920x1080 / 165Hz / 1ms / FreeSync
- BESZÁMÍTÁS! GIGABYTE B760M i5 13600K 32GB DDR4 1TB SSD RTX 4070 Super 12GB Lian Li Vector V100R 650W
- AMD GAMER PC! Ryzen 5800X / RX 6900 XT / 32GB 3600MHz/ 1TB NVMe / 850w Gold! BeszámítOK
- AKCIÓ! Motorola Edge 60 Pro 5G 512GB okostelefon garanciával hibátlan működéssel
- Dell M4500 Intel core i7-640M / 4GB RAM
- GAMER PC! Ryzen 9600X / RX 9700 / 32GB DDR5 / Strix B650e-i / 1TB NVMe / 750W! BeszámítOK
Állásajánlatok
Cég: aiMotive Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest







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.
)
).


