Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Toomy: FOXPOST: régen jó volt, de már jobban jársz, ha elfelejted
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Mr Dini: Mindent a StreamSharkról!
- Magga: PLEX: multimédia az egész lakásban
- gban: Ingyen kellene, de tegnapra
- MasterDeeJay: i7 4980HQ asztali gépben (vs i7 4770)
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
Új hozzászólás Aktív témák
-
válasz
Apollo17hu
#2599
üzenetére
ez egyrészt túlbonyolítás, másrészt nem is jó válasz a kérdésre.
szerintem valami ilyesmi:
select * from (select nev,ar from aru order by 2 desc limit 3) order by 2;
-
Speeedfire
félisten
válasz
fordfairlane
#2595
üzenetére
Oracle-nél a rowcount csak pl/sql-nél értelmezett a cursor miatt. Alapesetben with szerkezet kell hozzá.
A fentire én is a subselect-et írnám.

zolynet: A row_number() over (order by aru_egysegar) részhez is kell egy subselect, mivel így első körben csak aggregálod, mellesleg tök feleslegesen főleg ha nagyon sok adat van a táblában. Egy sort-nak sokkal kevesebb a cost értéke. -
zolynet
veterán
válasz
bambano
#2594
üzenetére
nem megy ez ma nekem, pedig a szándék a fontos
a bonyolultabbhoz nyúltam, de ugye nem arra gondoltam, hanem pl erre:
SELECT aru_nev,aru_egysegar, row_number() over (order by aru_egysegar)
FROM aruka limit 3 részből postgreSql-re gyanakodnék
most mennem kell, majd subquerryvel is megnézem
-
-
zolynet
veterán
válasz
bambano
#2588
üzenetére
elkapkodtam na
ezesetben PARTITIOIN BY

-
-
-
attis71
tag
Sziasztok!
Segítségeteket szeretném kérni van egy aruk tábla benne aru_egsegar mező, a rekordok árakat tartalmaznak
sql lekérdezéssel megkel jeleníteni az utolsó három legdrágább árut növekvő sorrendben esetleges rekord törlés esetén is tartsa meg a formát.
Eddig eljutottam:SELECT aru_nev,aru_egysegar
FROM aruk
ORDER BY aru_egysegar DESC
LIMIT 3;Csak így sajnos csökkenő.
Előre is köszi a segítséget.
attis71
-
Poo
senior tag
válasz
lakisoft
#2581
üzenetére
Szia,köszönöm.Akkor kb lényegtelen milyen konfigot rakok alá nem lesz jobb
64 bit verzióról lenne szó amúgy és egy ilyesmi konfigra gondoltam de akkor felét sem fogja kihasználni,SSD javíthat a gyorsaságon vagy fölösleges,rendszernek vagy az adatbázis legyen az SSD esetleg mindkettőnek?
Intel Core i5-4440 3,3Ghz processzor
4GB DDR3-1600MHz RAM,
500GB/7200 rpm HDD -
Poo
senior tag
Sziasztok,
Sql Expressz 2012 futtatásához milyen vasat ajánlatok? 3-4 kliens csatlakozna hozzá.
Köszönöm. -
-
-
sokat segítene a dolgon, ha elárulnád, hogy milyen adatbáziskezelő, mert pl. a postgresben van tömb típus, így lehetne a táblázatot tömbben tárolni.
egyébként meg csinálnék külön egy általános táblázat táblát és abba tenném. minden olyan terv, ami normalizálatlan adatot gányolva akar tárolni, az csak az elején tűnik jónak, a végén rendszerint megborul.
-
escape
aktív tag
Sziasztok!
Az lenne kérdésem, hogy ti hogyan tárolnátok le meglévő táblázatokat egyetlen mező(k)ben? Valószínűleg ez nem annyira egyszerű, tehát én valami olyasmire gondoltam, hogy a táblázatokat képként vagy pedig html formában tárolnám a szerveren, és növekvő számmal látnám el őket, majd az adatbázisban a megfelelő helyen hivatkoznék rá(juk) és egyszerű képként lenne beillesztve az oldal végére, illetve egy külön divben(html formátum esetén). Egy könyvet kell feldolgoznom ami tele van strukturált adatokkal, így az adatbázis a legkézenfekvőbb, de a táblázatok kis fejtörést okoznak. Van valakinek más ötlete?

-
zolynet
veterán
válasz
sztanozs
#2566
üzenetére
Nekem is volt már problémám az IN és NOT IN -es megoldásokkal, mostanában az Exists-el szoktam megoldani.
ez a megoldás még nem volt:
SELECT egyik_tabla.id
FROM egyik_tabla
where
not exists (select 1 from masik_tabla where masik_tabla.id=egyik_tabla.id)Egyszerű, átlátható, a feltételek is jól szűkíthetőek a továbbiakban.
-
martonx
veterán
válasz
jocomen
#2567
üzenetére
A join-ok szvsz átláthatóbbak, és talán (ez persze nagyban függ az sql motortól) jobban lehet őket optimalizálni, mint egy rakás where paraméterbe rejtett subquery-t.
Elméletileg az sql motor ugyanazt a végrehajtási tervet kellene, hogy készítse mindkét esetben, gyakorlatilag pici apróságokon is tud múlni, egy - egy sokkal optimálisabb terv felbukkanása. -
válasz
dellfanboy
#2565
üzenetére
Bár az előzőek közül a NOT IN-es megoldás a legegyszerűbb, célszerű azért ezt kerülni. Inkább a JOIN a megfefelő erre a célra.
-
dellfanboy
őstag
nagyon köszönöm mindenkinek.
-
Apollo17hu
őstag
válasz
dellfanboy
#2560
üzenetére
Nem JOIN-nal szoktam kötni, de - ha jól tudom -, akkor a FROM utáni sorrend dönti el, hogy melyik a "LEFT" és melyik a "RIGHT" tábla. A LEFT JOIN és a RIGHT JOIN is "gyenge" kötés, tehát az egyik táblának vesszük az összes rekordját, és amihez párt találunk, ahhoz hozzácsapjuk a másik táblából a szükséges mezőket, ahol pedig nincs pár, az NULL-értékkel kerül feltöltésre.
Ebből következik, hogyha neked csak azok az id-k kellenek, amelyek kizárólag az egyik táblában vannak, akkor a másik táblát gyengén kell kötnöd hozzá, majd a WHERE záradékban meg kell adnod, hogy a másik táblából bekötött id-k helyett NULL-érték szerepeljen. Valahogy így:
SELECT egyik_tabla.id
FROM egyik_tabla
LEFT JOIN masik_tabla
ON egyik_tabla.id = masik_tabla.id
WHERE masik_tabla.id IS NULLMegj.: gugliba beírod, hogy sql join, és rámész a képkeresőre, meg fogsz világosodni.

-
jocomen
aktív tag
válasz
dellfanboy
#2560
üzenetére
Ha jól értem a kérdést, akkor:
SELECT oszlop1
FROM tabla
WHERE oszlop1 NOT IN (SELECT oszlop2 FROM tabla); -
Ispy
nagyúr
válasz
dellfanboy
#2560
üzenetére
soha nem használtam right joint....
-
skoda12
aktív tag
válasz
dellfanboy
#2560
üzenetére
(SELECT egyik FROM tabla
UNION
SELECT masik FROM tabla)
MINUS
(SELECT egyik FROM tabla
INTERSECT
SELECT masik FROM tabla)Joinos kerdesre: A from utani sorrend szamit.
-
dellfanboy
őstag
sziasztok
egy kis segítség kellene.
van 2 oszlopom amik kül.-id, arra lennék kiváncsi, hogy azon id-kat kapjam meg eredményül amik csak az egyik oszlopban szerepelnek. erre milyen selectet kellene írnom szerintetektök más a right, left joinnal mi dönti el, hogy melyik tábla a bal, jobb?
ahogy a from után következnek? vagy abc sorrend? ezt sose tudtam
köszönöm
-
tamas1985
tag
válasz
PumpkinSeed
#2556
üzenetére
kipróbáltam nálam nem jó, lehet valamit rosszul csinálok
-
tamas1985
tag
Sziasztok!
MS Access-ben hogyan tudom azt megoldani, hogy egy adott mezőbe amely szám adattípusra van állítva csak adott karakterszámot lehessen csak beírni. Például ha ez 15, akkor se kevesebbet se több jegyű számot ne lehessen.
Előre is köszi. -
daninet
veterán
válasz
PumpkinSeed
#2553
üzenetére
köfi

-
daninet
veterán
Sziasztok!
Bocsi az amatőrségért, de nem jövök rá a dologra.
Van egy mysql táblám, benne kb 600 sor. Mindössze 4 oszlopom van, a negyedik oszlop lehet 0 vagy 1. Szeretném pár kattintással az összes 1-est 0-ra írni. Hogyan tehetem ezt meg?
-
-
Mr Paris
tag
válasz
bambano
#2549
üzenetére
köszi
van egy ilyen könyvem: Adatmodellezés - SQL és ACCESS alkalmazás - SQL Server és ADO 2005-ös kiadás. Szerintetek érdemes ebbe még belekezdeni vagy inkább valami újabbat keressek? -
Mr Paris
tag
Üdv mindenkinek!
Szeretném megkérdezni, hogy tudnátok-e nekem ajánlani könyvet vagy valamilyen online anyagot SQL alapok elsajátítására? (teljesen kezdőnek) Ill. van-e olyan ami egyben már az oracelel is foglalkozik?
köszönöm előre is a válaszokat.
-
van két debianon két 9.1-es postgres, ugyanaz a tábla mindkettőben. változtatás csak az egyiken lehetséges, a másikon kizárólag select. mi a legegyszerűbb, lehetőleg kész módszer arra, hogy a két táblát szinkronban tartsam?
-
Sk8erPeter
nagyúr
válasz
martonx
#2541
üzenetére
"Aztán szerintem az alulvonósdi elég idétlen az SQL nevezéktanokban (html-ben persze tökéletes az alulvonás, de ez most SQL). Miért nem lehet simán SizeAndPrice-nak hívni a táblát? Ez totál szubjektív, de szerintem sokkal szebb felesleges alulvonások nélkül."
Ahogy írtad, ez totál szubjektív, de még ráadásul függ attól is, hogy milyen környezetben/csapatban dolgozol, ott mi a konvenció, meg milyen programozási nyelv van "mögötte" (pl. Te elsősorban SQL Servert használsz, plusz C#-ot, ott egyértelműen a PascalCase/camelCase a nyerő/megszokott, furán mutatna a kód miatt is az underscore), nincs egyértelmű válasz rá. Egyébként érdekesség, hogy a phpMyAdminnál az van, hogy az underscore-ok "mentén" csoportosít (elvileg PHP-ben meg az underscore a megszokott, lásd a könyvtári függvényeket, leszámítva persze az OOP-seket; én ez utóbbiakhoz alkalmazkodom mondjuk): pl. ha van egy db_blabla, meg egy db_test táblád, azt egy "db" nevű lenyitható csoportba rakja. Szerintem amúgy egyáltalán nem idétlen az alulvonósdi, csak ha rááll az ember agya az egyikre, akkor inkább azt szereti.
Erre is illik a közhely, hogy a konzisztencia a legfontosabb. Ahogy kifejtik több topicban is:
http://programmers.stackexchange.com/questions/27264/naming-conventions-camelcase-versus-underscore-case-what-are-your-thoughts-ab
http://stackoverflow.com/questions/953030/naming-conventions-for-tables-and-columns-in-database
http://stackoverflow.com/questions/1881123/table-naming-underscore-vs-camelcase-namespaces-singular-vs-plural -
joni1700
csendes tag
És aki meg azt mondja, hogy normalizálni kellene, hát arra nem találom most a megfelelő szót XD
Valószínűleg nem direkt csináltam normalizálatlanra és nehezítem meg a saját boldogulásom
, szóval ennyiből nem fogom tudni, hogy mire gondolsz ha csak azt mondogatod h normalizálgassam. -
joni1700
csendes tag
Teljesen igazatok van, hogy nem magyarul kellene.
Az Id egy PK minden más aminek a nevében Id van az FK
DNReNTi
Ha a size_and_price_nm táblába beletennéd a restaurant id-t az nem lenne jobb és akkor nem lenne + tábla.
Nekem ugyan ez a kiosztás, csak van egy étel táblám, ahol kiválasztom a feltöltött képeket, nevet adok ennek a jószágnak, stb. Nem mondom meg melyik étteremben van, nem adok neki árat, méretet. Az akcio nekem csak egy bool mező, ezen van még mit finomítani.
Szeretném kérdezni, hogy az enyém miért rosszabb, mint a tied (a nyelvet nem számítva)? Nem piszkálódás miatt. Csak nem értem, hogy mit rontottam el amikor átgondoltam.
Amúgy PIVOT táblát ajánlottak. -
martonx
veterán
válasz
DNReNTi
#2540
üzenetére
beleokoskodhatok én is?
Amellett, hogy abszolút egytértek veled, ha már nevezéktanról beszélünk, akkor nem kellene rövidítéseket használni pl. _nm
Még most is gondolkozok rajta, hogy mit jelenthet az az nm? Ráadásul abból, hogy size_and_price bőven látszik, hogy miről is szól az a tábla.
Aztán szerintem az alulvonósdi elég idétlen az SQL nevezéktanokban (html-ben persze tökéletes az alulvonás, de ez most SQL). Miért nem lehet simán SizeAndPrice-nak hívni a táblát? Ez totál szubjektív, de szerintem sokkal szebb felesleges alulvonások nélkül. -
DNReNTi
őstag
válasz
joni1700
#2537
üzenetére
Nem okoskodni akarok és nem is válasz lesz a kérdésre, de én magát a struktúrát átalakítanám egy kicsit általánosabbra később könnyebben bővíthetőre. Először is nem használnék magyar tábla és mező neveket, meg egyáltalán semmit sem magyarul.
pizza tábla:
id (int, pk, uq, ai, nn) - értelemszerű
name (varchar(32), uq, nn) - a pizza neve
description (varchar(255), nn) - leírás, feltétek
active (bool, nn) - aktív / inaktív e a termék
size tábla:
id (int, pk, uq, ai, nn) - értelemszerű
name (varchar(32), uq, nn) - méret neve, pl: 28 cm-es ésatöbbi
active (bool, nn) - aktív / inaktív e a méret
restaurant tábla:
id (int, pk, uq, ai, nn) - értelemszerű
name (varchar(64), uq, nn) - étterem neve
active (bool, nn) - aktív / inaktív e az étterem
size_and_price_nm kapcsolati tábla:
pizza_id (int, pk, nn) - értelemszerű
size_id (int, pk, nn) - értelemszerű
price (smallint, nn) - adott pizza ára adott méretben
discount (bool (vagy smallint ha számszerűen akarod megadni)) - a kedvezmény beállítása
active (bool, nn) - aktív / inaktív e a kapcsolat
restaurant_and_pizza_nm kapcsolati tábla:
pizza_id (int, pk, nn) - értelemszerű
restaurant_id (int, pk, nn) - értelemszerű
active (bool, nn) - aktív / inaktív e a kapcsolatHa jól gondolom ezzel most mindenféle adat és kapcsolat kezelhető lenne amit egy pizzáról tudni kell. Tudni lehet a nevét, a feltéteket, az árát különböző méretekben, az ezekre esetleg alkalmazott akciókat, és azt is melyik pizza melyik étteremben elérhető. Persze ez most fapad, de a végtelenig bővíthető: pl az éttermek címélve kapcsolati adataival, a pizzákat lehetne kategorizálni, ésatöbbi ésatöbbi.
Remélem segítettem, ha nem, akkor meg írtam egy jó kis regényt.
-
PumpkinSeed
addikt
válasz
joni1700
#2537
üzenetére
Szerintem először normalizálnod kellene a táblát.
Illetve mik ezek: EtteremID, MeretID, Aktiv? Mit takarnak a nevek? Meg ahogy nézem két elsődleges kulcsod is van értem ezalatt a ID és az EtelID-t. Vagy hogy van ez most?
(#2536) sztanozs
Igazából maga a könyvvel az a baj, hogy nem éppen a legjobban magyaráz, legtöbbször, csak elmondja, hogy van ilyen meg olyan, de nem mondja el hogy működik.
-
joni1700
csendes tag
Elnézést kérek, tényleg nem fejtettem ki, hogy mi a problémám vele. Sajnos nem írtam le pontosan a dolgot, tehát pizza méretből nem csak kettő fajta lehet. 28-30-32-45, tehát lehet még pár darab ár is egy ételhez.
A adattáblám most így néz ki:
Kaja
-------------
- Id
- EtelId
- EtteremId
- MeretId
- Ar
- Akcio
- AktivEtel az az, hogy felveszek egy pizzát és később fejtem ki a további árat hozzá mérettől függően, vagy ahogy nekem tetszik. Még kezdő vagyok, és fáradt voltam, mert éjszakáztam
Ezen dolgok tudatában jelentettem azt ki, hogy nem igazán tetszik ez a megoldás.
Igazán köszi, hogy válaszoltál "legalább te"

Nem a személyed ellen irányult a lustaságom
-
válasz
PumpkinSeed
#2535
üzenetére
Hát ez a bajom ezekkel a könyvekkel, de úgy egészében az oktatással is - kb 1000 éves bevett gyakorlatokat oktatnak, ahelyett, hogy kicsit körbenéznének, mi változott a világban. Az egyetemen is pont ez volt...
1. óra eleje: "Itt én kérem szépen naprakész dolgokat tanítok, nem számítok be 4-5 éve végzett főiskolai tárgyakat"
Többi órát meg végig anekdotázgatva: "1980-ban, Moszkvában..."
-
PumpkinSeed
addikt
válasz
Sk8erPeter
#2534
üzenetére
Kb 1 éve, de 2010-es kiadás.
-
Sk8erPeter
nagyúr
válasz
PumpkinSeed
#2532
üzenetére
Mikor vetted azt a könyvet? A prepared statementek használata nem egy újkeletű dolog.
A PHP 5 meg már 2004 júliusában megjelent. Régi könyvekből meg szinte semmilyen folyamatosan fejlődő programozási nyelvet nem éri meg elkezdeni tanulni, mivel ezer dolog változhat az évek során, például a nyelvi adottságok, best practice-ek. -
DNReNTi
őstag
válasz
Sk8erPeter
#2531
üzenetére
Gondolom arra gondol, hogy akkor már nem a procedurális hanem az oop módon használná a prepared statements-t meg az egész adatbázis kezelést.

-
PumpkinSeed
addikt
válasz
Sk8erPeter
#2531
üzenetére
Az a baj, hogy amikor ezt a könyvet vettem ez volt a legfrissebb, ezenkívül még pár foglalkozott 5.x-el, de a többi 4 meg az alatt. De egy jó alapot adott, a többiről meg tájékozódom.
Az úgy jött ki, hogy nem tudom.

-
Sk8erPeter
nagyúr
válasz
PumpkinSeed
#2530
üzenetére
Akkor azt a könyvet öntsd le benzinnel, aztán gyújtsd fel.
Manapság ezek szerint annyit ér. Egyébként a prepared statementeknek köze nincs az OOP-hoz, a kettő összevetése nem tudom, hogy miből jött ki. 
-
PumpkinSeed
addikt
válasz
Sk8erPeter
#2529
üzenetére
Nézegettem, de előbb az OOP-ra kellene erősebben ráfeküdjek, mert az az alapszint elég kevés hozzá, azután egyszerűbben fog menni. A PHP és MySQL webfejlesztőknek c. könyvvel most végeztem, csak az OOP-t hagytam ki, azt későbbre terveztem, de a könyv nem a legfrissebb PHP-t adja elő amúgy, ugyanis a prepared statementekről szó sincs bennük.

-
Sk8erPeter
nagyúr
válasz
joni1700
#2525
üzenetére
Még jó, hogy ilyen értelmesen kifejtetted, hogy mi is a bajod vele...
Legalább mindenki megfontolja ezentúl, hogy adjon-e legközelebb neked segítséget.
(Főleg Apollo17hu, aki önzetlenül rádszánta az idejét.)(#2506) PumpkinSeed :
"A Sublime Text is IDE-nek számít?"
Szerintem nem számít annak. Ja, kb. olyasmi, mint a Notepad++, iszonyat sok pluginnal felokosítva. Az IDE ennél több. (Amúgy igazad van, hogy amikor beszéltem az IDE-kről, rossz ötlet volt odasorolni a Sublime-ot is a többi közé, inkább csak a népszerűsége miatt jutott eszembe.)Használod már végre a prepared statementeket?

-
DNReNTi
őstag
válasz
Apollo17hu
#2527
üzenetére

-
joni1700
csendes tag
Hát nekem ez a megoldás nem igazán tetszik, de köszönöm

-
Apollo17hu
őstag
válasz
joni1700
#2523
üzenetére
Szia!
Normál SQL-ben úgy csinálnám, hogy létrehoznék két extra oszlopot az árnak: MIN(Ár) és MAX(Ár). Ezeket pedig összefűzném valahogy így:
SELECT [Név]
,[Feltét]
,MIN([Ár]) || ' - ' || MAX([Ár]) AS intervallum
FROM [Tábla]
GROUP BY [Név]
,[Feltét](Nem tudom leellenőrizni, előfordulhat, hogy hibás a szintaktika.)
-
joni1700
csendes tag
Sziasztok.
Olyan kérdésem lenne, hogy van egy táblám és egyforma sorok vannak benne, de van egy mező ami különböző, nem szeretném az egyforma mezőket lekérdezni, csak egyszer, de viszont az eltérő sorokat mindig
PL:
Tábla -->
Név--Feltét-Átmérő-ÁrPizza1-Karfiol-28-1100FT
Pizza1-Karfiol-32-1500FT
Pizza2-Retek-28-1300FT
Pizza2-Retek-32-1700FT
Pizza3-Alma-32-1500FTEredmény -->
Pizza1-Karfiol-1100FT-1500FT
Pizza2-Retek-1300FT-1700FT
Pizza3-Alma-xxx-1500FTMSSQL-ről beszélek vagy linq to entity. Köszönöm előre is a megoldást, vagy a rávezetést

-
-
-
Sleed
aktív tag
sziasztok,
egy mySQL adatbázisba logolom egy hálózat két pontja(szerver és kliens) közötti tulajdonságokat (packet loss, sávszélesség stb.) 5 percenként.
Az adatbázis a szerveren van, de az adatbázisba feltöltést csak a kliensről tudom megejteni (a kliens méri az értékeket).
Az a problémám, hogy ha épp nincs kapcsolat a kliens és a szerver között, akkor az adott táblában, a kieső időhöz nem tartoznak rekordok.
Meg lehet valahogy oldani, hogy ha pl. 12:00-tól 12:20-ig nem volt kapcsolat, akkor ide automatikusan létrehozzon rekordokat(12:05;12:10;12:15), a default(packet loss - 100,bandwidth - 0) értékekkel?
remélem sikerült érthetően leírnom, hogy mit szeretnék
köszi
Sleed -
rum-cajsz
őstag
válasz
dellfanboy
#2514
üzenetére
Ha a plsql a PL/SQL Developer nevű programot jelenti, akkor elég hamar találhattál volna választ a súgójában.
Ezt a témát keresd: "Updating the database"De ha sokat csinálsz ilyet, és nem csak egyszeri alkalomról van szó, akkor valószínűleg egyszerűbb lenne a text importer (Tools menü)funkcióját használni a programnak, ami CSV formában eszi meg az excel adataidat.
-
dellfanboy
őstag
válasz
Peter Kiss
#2508
üzenetére
létrehoztam create table-el egy táblát de nem bírom betölteni az xls-t mert a plsql-be lévő "lakatra" kattintok akkor azt írja, select update-el updateljem a táblát, de mivel az adatom nem adatbázisba van hanem külön xls, hogy updateljem?
elkértem a selectet ami alapján megvannak az id-k az egyszzerűbb ha a selectet lefuttatom és az ott lévő eredményt kreálom egy táblába? ha igen ez hogy néz ki
select * from feltételek creata table? -
bpx
őstag
válasz
DopeBob
#2511
üzenetére
MySQL-es példát mutatsz, de CONNECT BY-t szeretnél használni, ami az "igazi" Oracle-ben van, MySQL-ben nincs, így maradjunk az Oracle-nél. A példádat kicsit kiegészítettem, mert ha csak két szintes a hierarchia, akkor túl triviális, még CONNECT BY sem kell.
create table table1 (id varchar2(10), part varchar2(100), qty int);
insert into table1 (id, part, qty) values ('1', '1--1', 2);
insert into table1 (id, part, qty) values ('1', '1--2', 4);
insert into table1 (id, part, qty) values ('1', '1--3', 8);
insert into table1 (id, part, qty) values ('1', '1--4', 5);
insert into table1 (id, part, qty) values ('1--1', '1--1--1', 2);
insert into table1 (id, part, qty) values ('1--1', '1--1--2', 2);
insert into table1 (id, part, qty) values ('1--1', '1--1--3', 2);
insert into table1 (id, part, qty) values ('1--2', '1--2--1', 2);
insert into table1 (id, part, qty) values ('1--3', '1--3--1', 2);
insert into table1 (id, part, qty) values ('1--4', '1--4--1', 3);
insert into table1 (id, part, qty) values ('1--4--1', '1--4--1--1', 7);
commit;Lekérdezés + eredmény:
select id, part, qty,
(select exp(sum(ln(t2.qty)))
from table1 t2
start with t2.id = t1.id and t2.part = t1.part
connect by prior id = part
) mqty
from table1 t1
start with id = '1'
connect by id = prior part;
ID PART QTY MQTY
---------- -------------------- ---------- ----------
1 1--1 2 2
1--1 1--1--1 2 4
1--1 1--1--2 2 4
1--1 1--1--3 2 4
1 1--2 4 4
1--2 1--2--1 2 8
1 1--3 8 8
1--3 1--3--1 2 16
1 1--4 5 5
1--4 1--4--1 3 15
1--4--1 1--4--1--1 7 105Ha csak azok érdekelnek, amelyek a hierarchia utolsó szintjén vannak:
select id, part, qty, mqty from (
select id, part, qty,
(select exp(sum(ln(t2.qty)))
from table1 t2
start with t2.id = t1.id and t2.part = t1.part
connect by prior id = part
) mqty,
connect_by_isleaf leaf
from table1 t1
start with id = '1'
connect by id = prior part)
where leaf = 1;
ID PART QTY MQTY
---------- -------------------- ---------- ----------
1--1 1--1--1 2 4
1--1 1--1--2 2 4
1--1 1--1--3 2 4
1--2 1--2--1 2 8
1--3 1--3--1 2 16
1--4--1 1--4--1--1 7 105 -
DopeBob
addikt
Sziasztok,
hátha valaki tud segíteni, teljesen elakadtam egy lekérdezéssel:
http://sqlfiddle.com/#!2/0262e8/1
Van egy ilyesmi táblám. Egy termékstruktúrában kéne mennyiségeket számolni szülő-gyerek. Egy úgy oszlopot szeretnék betenni, ami egy adott sor, és az ő összes szülőjének a qty mezőjét összeszorozza, de nem sikerül megoldani.
Tehát pl az utolsó során
1--3 1--3--1 2 16
mert ebből 2 db kell, 1--3-ból pedig 8 db. A gyerekek száma tetszőleges, bármennyi lehet.
Addig jutottam, hogy connect by prior kell nekem, de nem sikerült a példák alapján összehoznom.
Előre is köszönöm a segítséget.
-
dellfanboy
őstag
válasz
Apollo17hu
#2509
üzenetére
nagyon köszi mindkettőtöknek

-
Apollo17hu
őstag
válasz
dellfanboy
#2507
üzenetére
Úgy kell csinálnod, ahogy Athlon64+ írta: betöltöd mondjuk egy "ugyfel" nevű táblába, és egyszerűen összekötöd (erősen) azzal a táblával, amiben az azonosítókat szűrni szeretnéd.
Valahogy így:
SELECT alaptabla.*
FROM alaptabla, ugyfel
WHERE alaptabla.id = ugyfel.idEz semmi mást nem csinál, mint az alaptáblából leszűri azokat a rekordokat, amelyek - azonosító alapján - szerepelnek az ugyfel táblában is.
-
Peter Kiss
őstag
válasz
dellfanboy
#2507
üzenetére
Be kell töltened egy táblába, és megfelelően join-olni.
-
dellfanboy
őstag
válasz
Apollo17hu
#2374
üzenetére
röviden igen,
tehát select * from
where id in (és akkor ide jön a sok id több ezer)ezen id-kat társosztálytól kaptam xls-ben. (ma például 150k-t)
gondoltam arra is, hogy létrehozok create table-val egy táblát amibe berakom a 150k id-t és mellé fkeresel( ilyesmit lehet pl sql-bE?) megkeresem amire szükségem van.
de a legegyszerűbb az lenne, ha a selectem hosszabb lehetne mint 1000 sor,.. errre van pl/sql-ben lehetőség??
-
PumpkinSeed
addikt
válasz
Sk8erPeter
#2505
üzenetére
"Valahogy nehéz elhinni, hogy csak..."
Igen, mert kipróbáltam több ilyen formát is pl még a $result = $database_connect->query($second_query); megoldást is.
"Pont most írtam a másik topicban..."
A Sublime Text is IDE-nek számít? Mert azt úgy tudtam valami olyasmi mint a notepad++. Azt régen használtam, csak valamiért már notepad++-ra szoktam rá, és automatikusan azt nyitom meg.
"Ennek nem sok értelme van..."
Most működik 100 bevitt sorra, majd ha jelentkezik újra akkor részletesebben belenézek.
-
Sk8erPeter
nagyúr
válasz
PumpkinSeed
#2504
üzenetére
Valahogy nehéz elhinni, hogy csak gyorsmegoldásként van így, mert a prepared statement használata nem jelent érdemben plusz időt ahhoz képest, hogy konkatenálod a query-t, és azzal szenvedsz, ha már legalább egyszer használtál prepared statementeket. Tényleg nem csak szopatásból találják ki ezeket, hanem a fejlesztő megsegítésére. Hidd el, miután úgy használod, sokkal minőségibbnek és átláthatóbbnak fogod látni a saját kódodat is. Jótanácsként mondom, nem csak hogy cseszegesselek, még ha úgy is tűnik...

"Igen notepad++-t használok, mert nekem ez a kézre eső megoldás, több képernyős módban egyszerre 4 felületet látok egyszerre, másra nincs szükségem.
"
Egyáltalán nem értem az összefüggést. Miért, egy normális IDE használatával nem tudnád mindezt megoldani?
Pont most írtam a másik topicban, hogy nem nagyon értem, akár egy kis projektnél is mire jó, hogy nehézkesebbé tesszük a dolgunkat azzal, hogy minimális fejlesztőkörnyezeti támogatást sem kapunk kódolás közben. Ujjbegy-és csuklóedzés, vagy mi?"Az aposztrófok zavartak be, mert utána nem jelentkezett a jelenség.
"
Ennek nem sok értelme van így, mivel azt mondtad, hogy egyszer sikeresen feltöltésre kerül az adat, máskor meg kinullázódik. Ha épp sikeres volt a feltöltés, és akkor is idézőjelben volt, akkor az miért volt sikeres?
Szóval valami más lesz ott a probléma, és később is előjöhet.
-
PumpkinSeed
addikt
válasz
Sk8erPeter
#2485
üzenetére
Tudom tudom, csak már nagyon el vagyok havazva, természetesen csak azért nézz ez így ki, mert már szét tákoltam minden kipróbáltam annak érdekében, hogy működjön. Amúgy ez nem a teljes kód, hanem csak az ahogyan megkapom az adatot és ahogy használni szeretném, kb 130. sor és 200. sor.
Igen notepad++-t használok, mert nekem ez a kézre eső megoldás, több képernyős módban egyszerre 4 felületet látok egyszerre, másra nincs szükségem.

(#2484) jocomen
bigint-ként van az adatbázisban, mivel 13 karakter hosszú.
(#2486) martonx
Az aposztrófok zavartak be, mert utána nem jelentkezett a jelenség.

-
Sk8erPeter
nagyúr
válasz
fordfairlane
#2502
üzenetére
Jaja, csak az a furcsa, hogy ha ilyen jellegű probléma van, akkor hogyan lehetséges, hogy ez nem ütközött ki korábban: végül is úgy, amilyennek a kódja látszik, semmi validálás, előfeldolgozás, csak úgy simán hadd szóljon.
-
fordfairlane
veterán
válasz
Sk8erPeter
#2499
üzenetére
Ismerni kéne a rendszert, hogy a vonalkód milyen értékeket vehet fel. Ha például betű csak valami hiba folytán kerülhet be, akkor decimal + validálás a megfelelő eljárás. Ha előfordulhatnak betűk és számok is, akkor a varcharral nincs semmi gond.
Új hozzászólás Aktív témák
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Hivatalos a OnePlus 13 startdátuma
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
- Luck Dragon: Asszociációs játék. :)
- Víz- gáz- és fűtésszerelés
- Sweet.tv - internetes TV
- iPhone topik
- Androidos tablet topic
- Okos Otthon / Smart Home
- Milyen egeret válasszak?
- További aktív témák...
- GYÖNYÖRŰ iPhone 12 Mini 128GB Black-1 ÉV GARANCIA -Kártyafüggetlen, MS4203, 94% Akksi
- HIBÁTLAN iPhone 13 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3139
- Apple iPhone 14Pro 256GB Kártyafüggetlen 1év Garanciával
- ÁRGARANCIA!Épített KomPhone i5 12400F 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- Beszámítás! Acer Predator Helios Neo 16 notebook-i9 14900HX 16GB DDR5 1TB SSD RTX 4060 8GB W11
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest




64 bit verzióról lenne szó amúgy és egy ilyesmi konfigra gondoltam de akkor felét sem fogja kihasználni,SSD javíthat a gyorsaságon vagy fölösleges,rendszernek vagy az adatbázis legyen az SSD esetleg mindkettőnek?



Manapság ezek szerint annyit ér. Egyébként a prepared statementeknek köze nincs az OOP-hoz, a kettő összevetése nem tudom, hogy miből jött ki.



