- iPhone topik
- Vodafone mobilszolgáltatások
- Telekom mobilszolgáltatások
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Eleglide C1 - a középérték
- Milyen okostelefont vegyek?
- Android szakmai topik
- DIGI Mobil
- Android alkalmazások - szoftver kibeszélő topik
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
Hirdetés
-
Nyár végén jön az idei THQ Nordic Digital Showcase
gp Az új bejelentések mellett újabb részleteket kapunk a Gothic Remake-ről és a Titan Quest II-ről is.
-
Egyre közelebb a Poco F6 startja
ma Újabb ár/érték csatát nyerhet a Xiaomi almárka.
-
A legtöbb amerikai szerint a TikTok egy őket befolyásoló eszköz
it Egy felmérés szerint a legtöbb amerikai osztja azon véleményt, hogy a TikTok egy őket befolyásoló eszköz.
Új hozzászólás Aktív témák
-
válasz dellfanboy #1795 üzenetére
Amit te keresel, azt úgy hívják, VIEW. Ha azokkal a táblákkal kellene dolgoznod, kérj egy VIEW-t. Ekkor a VIEW-hoz adnak hozzá, nem a TABLE-hoz SELECT permission-nel.
-
sztanozs
veterán
válasz Peter Kiss #1801 üzenetére
View vagy a valódi tábla, egyre megy - ha nem kapott a táblára select jogot (feltételezem úgy, hogy kért), akkor nem valószínű, hogy fognak neki csinálni egy view-t...
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...
-
Speeedfire
nagyúr
Adott 2 tábla egyikben forum leírások vannak, a másikban pedig a fórum hozzászólások.
forum:
----------
id | titlecomment:
---------------
forum_id | comment | create_timeOlyan lekérdezés lenne a célom ami kilistázza az összeset a fórum táblából és az ordernek a comment tábla create time értéke lenne.
select *
from forum t
left join comment s
on t.id=s.forum_id
order by s.create_time descEnnél a lekérdezésnél jó is lehetne, csak a commentek miatt többször is listázza ugyan azt a fórum leírást.
Ha rakok rá egy group by-t, akkor pedig nem jó az order.
Valakinek valami tippje? Csináljak egy subselect-et?
Vagy lehet join-nal is, csak épp nem így.Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Apollo17hu
őstag
válasz Speeedfire #1804 üzenetére
Úgy akarod, hogy a lekérdezésed eredménye az legyen, hogy:
minden fórumazonosító (id) egyszer, ezekhez pedig a legutolsó (=legfrissebb) komment (comment), és a hozzá tartozó create_time érték? Ha igen, akkor kell bele a comment mező is vagy elég csak az időpecsét? -
Speeedfire
nagyúr
válasz Apollo17hu #1805 üzenetére
Csak az időbélyeg érdekel, maga a comment nem.
pl
select t.*, s.create_time as order
from forum t
left join comment s
on t.id=s.forum_id
order by order descFotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
válasz Speeedfire #1804 üzenetére
select *
from forum t
left join (select forum_id, MAX(create_time) as lastTime group by forum_id) as s
on t.id=s.forum_id
order by s.create_time desc[ Szerkesztve ]
-
Speeedfire
nagyúr
válasz Peter Kiss #1807 üzenetére
Köszi!
Sejtettem, hogy subselect nélkül nem fog menni.
[ Szerkesztve ]
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
válasz Speeedfire #1808 üzenetére
Fentiból hiányzik egy from comment, mindegy.
Sub query nélkül is lehet:
select t.id, t.name, MAX(s.create_time) as order
from forum t
left join comment s on t.id=s.forum_id
group by t.id, t.name
order by MAX(s.create_time) desc -
Speeedfire
nagyúr
válasz Peter Kiss #1809 üzenetére
Valóban, így is megy.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Speeedfire
nagyúr
Adott egy tábla:
id | lang | mess
1 | hu | valami
1 | en | envalami
2 | hu | megvalami
2 | en | enmegvalami
3 | hu | otLe lehet ezt kérdezni úgy, hogy ilyen formában kapjam vissza?
id | hu | en |
1 | valami | envalami
2 | megvalami | enmegvalami
3 | ot | -Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Ispy
veterán
válasz Speeedfire #1811 üzenetére
Ha MS SQL, akkor igen.
"Debugging is like being the detective in a crime movie where you're also the murderer."
-
Speeedfire
nagyúr
-
Ispy
veterán
válasz Speeedfire #1813 üzenetére
select * from (select * from message) message
helyett elég ez is:
select * from message
"Debugging is like being the detective in a crime movie where you're also the murderer."
-
-
Ispy
veterán
válasz Speeedfire #1815 üzenetére
Nem is kell oda, vedd ki belőle
select * from message
pivot
(
max(translation)
for(language) in (hu, en, de)
) pivotmess;[ Szerkesztve ]
"Debugging is like being the detective in a crime movie where you're also the murderer."
-
Apollo17hu
őstag
válasz Speeedfire #1811 üzenetére
vagy:
SELECT id
,MIN(CASE
WHEN lang = 'hu' THEN
mess
END) AS "hu"
,MIN(CASE
WHEN lang = 'en' THEN
mess
END) AS "en"
FROM tabla
GROUP BY id -
Speeedfire
nagyúr
Oracle alatt kell sajnos, különben constansnak gondolja.
Viszont az as működik ott is. Így már faja.select * from message
pivot
(
max(translation)
for(language) in ('hu' as hu, 'en' as en, 'de' as de)
) pivotmess;
Apollo17hu: Ez sem rossz, de a fenti egyszerűbbnek tűnik.[ Szerkesztve ]
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Apollo17hu
őstag
válasz Speeedfire #1818 üzenetére
Igen, ugyanazt az eredményt hozza a kettő, de azért írtam be, mert a pivotot talán nehezebb "testreszabni" nagyobb mátrixoknál.
-
Speeedfire
nagyúr
válasz Apollo17hu #1819 üzenetére
Sok rekordnál én sem tudom melyik lenne jobb performanciában. Egyelőre marad a pivot, ha lassú lesz idővel akkor megnézem a többi eshetőséget is.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
bambano
titán
kellene gyors segítség: postgresql-ben van valami eval vagy exec szerű függvény? valami ilyen kellene, hogy:
select * from eval (select sql_command from table where id=1);
egy halom grafikont kellene legyártanom, és utálnám, ha kézzel kellene. tia.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
bambano
titán
válasz Speeedfire #1822 üzenetére
én úgy látom, hogy itt a from query-ben megadott select eredményét hozza ki, nem pedig a megadott select lefuttatásával kapott eredményt.
de lehet, hogy elgépeltem valamit, nem tudom.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
bambano
titán
válasz Speeedfire #1824 üzenetére
execute vagy pl/pgsql scriptben van, vagy prepared statementben. Ez utóbbi esetben nem így kell meghívni, hanem a nevével és a paramétereivel.
a pl/pgsql scripttel azért nem bírtam még zöldágra vergődni, mert nem lehet tudni előre, hogy milyen formátumban adja vissza a táblát az exec, de azt előre bele kellene drótozni a scriptbe. pech.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
bambano
titán
válasz martonx #1829 üzenetére
Három dolgot nem értek a válaszodban:
- függvényt kerestem volna eredetileg, ez meg tárolt procedúrában egy vezérlési szerkezet
- attól, hogy for-ral dolgozom fel a query eredményét, hogyan fog változni a tárolt procedúra által visszaadott adatok típusa?
- miért kellene for-t használnom arra, amire van beépített kész utasítás?tartok tőle, nem ugyanazt értettük a kérdésem alatt.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
martonx
veterán
válasz bambano #1830 üzenetére
Lehet, hogy félreértettelek. Úgy értettem, hogy egy query eredményeként kigenerálsz egy rakás SQL query-t, és ezeket szeretnéd egymás után futtatni programozottan.
Hja, normálisabb SQL nyelvekben ehhez nem kell tárolt eljárás, PostgreSql-ben valóban kell (bár mintha 9.1 / 9.2 újdonsága lenne, hogy immár tárolt eljáráson kívül is lehet benne magasabb szintű nyelvi elemeket is használni)
Kettes kérdésedet nem tudom értelmezni, lehet azért mert még mindig nem értem, hogy mit is szeretnél?
Hármas kérdésedre sem tudok válaszolni. Ha van, akkor használd azt. Öröm - boldogság. Ha nincs, akkor örülök, hogy segíthettem a for-os ötletemmel.Azért végezetül megpróbálnád összefoglalni, hogy mit is szerettél volna, és végül mi lett a legegyszerűbb megoldás?
Én kérek elnézést!
-
bambano
titán
válasz martonx #1831 üzenetére
a probléma a következő: van egy halom mérési eredményem. ebből csinálni kell egy halom grafikont. a grafikon legyártása gyakorlatilag ugyanolyan lépésekből áll, kivéve, hogy az adatsort, amiből lesz, más-más query-k adják. ezért gondoltam arra, hogy a különbözőséget jelentő queryket belerakom egy táblába, a többihez írok egy darab scriptet, aminek egy paramétere, hogy hanyadik query-s grafikont csinálja meg és azt futtatom.
ehhez kellene egy olyan, amit más programozási nyelvekben evalnak szoktak hívni, hogy összerakom valahogy egy stringbe a queryt és azt ugyanúgy feldolgoztatom, mintha simán beírt query lenne.
"Úgy értettem, hogy egy query eredményeként kigenerálsz egy rakás SQL query-t, és ezeket szeretnéd egymás után futtatni programozottan.": mindig egy query lesz az eredmény, azt kell futtatni.
Erre elvileg (postgrestől elvonatkoztatva) két módszer létezhet:
- van készen eval függvény
- tárolt eljárást kell rá írni.A postgresben nincs eval függvény, meg más sem, amire hunyorítva nézve eval függvény lehetne, ezért ez az út járhatatlan.
A postgresnek a tárolt eljárási környezetében van olyan, hogy visszatérési eredményként egy query által generált táblát adok vissza, de ezzel az a probléma, hogy a tárolt eljárás definíciós részében meg kell adni a tábla formátumát, hogy milyen rekordtípust fog visszaadni, az pedig nem egyforma. Így nem tudom a tárolt eljárásban a return query exec-et használni.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
martonx
veterán
"mindig egy query lesz az eredmény, azt kell futtatni.
Erre elvileg (postgrestől elvonatkoztatva) két módszer létezhet:
- van készen eval függvény
- tárolt eljárást kell rá írni."Akkor csak jól értettem. Postgrestől esetedben éppen hogy nem lehet elvonatkoztatni, mert pl. MySQL-lel, vagy MSSQL-el (de gondolom Oracle-lel is, bár azzal nincs sok tapasztalatom) simán futtathatnád tárolt eljárás nélkül is a kapott query-det.
Az eval-t javascriptből ismerem, tudtommal SQL-ekben ilyen nyelvi elem nincs (hacsak nem oracle-ben), az hogy egy programnyelvben mit hogy oldasz meg, teljesen irreleváns SQL-ben fejlesztéskor.A problémádat még mindig nem értem teljesen, de végiglépdelni egy query recordjain, amelyekben szintén query-k vannak legenerálva, és ezeket a queryket egymás után futtatni, továbbra is azt mondom, hogy a FOR egy megfelelő megoldás lehet.
Én kérek elnézést!
-
Ispy
veterán
válasz martonx #1833 üzenetére
Még mindig nem érted:
olyan utasítást keres, amivel egy táblában található utasítást tud futattni kódból, mssqlben ilyen az sp_executesql függvény, vagy visual basicben az eval függvény. Tehát, ha végiglépked egy forral, akkor a for belsejében kell egy függvény, ami a ciklus által visszaadott értéket tudja nativ kódként értelmezni."Debugging is like being the detective in a crime movie where you're also the murderer."
-
bambano
titán
válasz martonx #1833 üzenetére
de nem akarom a query recordjain végiglépkedni, mert egy query-m van.
van egy táblám, van benne n darab query. ezekből a querykből mindig pontosan egyre van szükségem, sem többre, sem kevesebbre. pontosan egy elemű for ciklust futtatni nem látszik hasznosnak. majd egy másik, későbbi időpontban egy másik queryre van szükségem, de akkor is csak pontosan egyre.(#1834) Ispy
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
bpx
őstag
igen, es ez az, ami nincs sajnos
ami van, ahhoz kell korites, es tudni kell, mit fog visszaadni a query
ugyanez van Oracle-ben is, EXECUTE IMMEDIATE-tel kb. akarmit vegre lehet hajtani, de csak PL/SQL-ben, es ha van kimenete, ahhoz bizony programozni kell, hogy lassak belole valamit
ha meg elore nem ismert a kimenet strukturaja, hat hagyjuk...
az sp_executesql ahogy nezem, az is ugyanilyennem tudom mekkora az adathalmaz, es hogy kritikus folyamat, vagy eleg az "egyszer fusson le es kesz", de erre a legegyszerubb modszer szerintem mindenfele eval kinlodas nelkul, hogy nem az adatbazisban rakom ossze a query-t dinamikusan es futtatok mindent, hanem a kliens (pl. egy shell script) elkeri a futtatando query-ket es szepen beadagolja
pl. van egy script, ami lekeri a queryket, es futtatja oket psql-el, a kimenetet meg kitolja mondjuk CSV fajlba (vagy amibe kell)
vegen meg a fajlokra mehet a grafikon generatornem tul szep, de legalabb egyszeru
-
bambano
titán
"a kliens (pl. egy shell script) elkeri a futtatando query-ket es szepen beadagolja": ez egyre inkább igaznak tűnik, csak eddig volt már rá több példa is, hogy egy-két okos embernek volt jobb megoldása, mint amit én elsőre találtam, ebben bíztam most is.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
retes
aktív tag
Sziasztok!
Olyan segítségre lenne szükségem, hogy adott egy sima Access, amiben egy táblában egy adott oszlopra szeretnék úgy lekérdezést készíteni, hogy mikor lefuttatom, akkor kérje be a kezdő és a vég értéket. Vagyis tetszőleges tartományt kérjek le. Szóval ha az oszlop 1,2,3,4,5,6,7,8 akkor meg tudjam adni, hogy nekem a 3 és a 6 köztieket dobja ki.
Tudna valaki segíteni, hogy ezt hogyan lehet elérni Accessben.
Előre is nagyon köszönöm a segítséget!A tudás mindenkié!!!
-
retes
aktív tag
válasz martonx #1839 üzenetére
Azt próbálom, csak adott közben egy ilyen feladat amit szeretnék megoldani, csak nem tudom, hogy az Access egyáltalán tud e olyat csinálni, hogy mikor indítok egy lekérdezést, akkor feldob egy ablakot, hogy írjam be neki a tól-ig et. Másfelől meg szerintem, az "egy minimális Access tudást illene magadra szedni, mielőtt kérdezel." nagyon kedves és segítőkész hozzáállás. martonx őstagként azt hinném, hogy ezt a látásmódot ezzel a titulussal sikeresen magadra szedted már mióta a PH-ra írogatsz. Látszik, hogy nem sikerült, viszont tedd meg, ha már nem vagy hajlandó segíteni, ne is gátold, hogy más építő jelleggel szóljon hozzá és inkább ne is írj. Köszönöm!
A tudás mindenkié!!!
-
Ispy
veterán
Ha MDB, akkor ezt nézd meg.
"Debugging is like being the detective in a crime movie where you're also the murderer."
-
Petya25
addikt
Kéne nekem valami olyan riportoló eszköz, ami MS SQL-ből olvasna és táblázatot, diagrammot tudna kitolni ügyfelnként mélben, amiben mindenki a maga adatait kapná csak.
Van rá valami ötlet?[ Szerkesztve ]
Antonio Coimbra de la Coronilla y Azevedo, bizony!
-
martonx
veterán
válasz Petya25 #1847 üzenetére
Írsz rá egy kis programocskát, aztán az pont ezt fogja tudni, legalábbis a táblázat részéig elég triviális.
Az más kérdés, hogy diagramm nehezen lesz benne, bár kerülő utakkal biztos tudsz diagrammot képként generáltatni valamilyen eszközzel, és a képet már bele tudod szúrni a html formátumú emailbe.Én kérek elnézést!
-
DS39
nagyúr
válasz martonx #1849 üzenetére
teljesen felesleges újra feltalálni a spanyol viaszt. az SQL Server Business Intelligence része egy igen professzionális riportoló eszközt (Reporting Services) tartalmaz.
remek dinamikus (paraméter szerinti) táblázatok, és diagramok készíthetők vele [link]
az email-ben kiküldés kicsit macerás, de ahogy alább linkeltem megoldható.
[ Szerkesztve ]
Új hozzászólás Aktív témák
- Anglia - élmények, tapasztalatok
- Konzolokról KULTURÁLT módon
- BestBuy ruhás topik
- Milyen billentyűzetet vegyek?
- 3D nyomtatás
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Kihívás a középkategóriában: teszten a Radeon RX 7600 XT
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Microsoft Excel topic
- Fujifilm X
- További aktív témák...