Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Geri Bátyó: Agglegénykonyha 10 – Alapanyagok/készételek többféle felhasználása
- hege8888: Retro Kocka Kuckó harmadjára Hódmezővásárhelyen
- sziku69: Szólánc.
- leslieke: leslieke farmerzsebe
- MasterDeeJay: i7 4980HQ asztali gépben (vs i7 4770)
- Tamás88: Karácsonyi hangulat... de másképp
- Toomy: FOXPOST régen jó volt, de ma már jobban jársz ha elfelejted.
- Magga: PLEX: multimédia az egész lakásban
Új hozzászólás Aktív témák
-
drkbl
őstag
válasz
SQLkerdes
#496
üzenetére
Szerintem a derived table, amit keresel: SELECT ... FROM (SELECT ...) AS x(..)
SELECT
e.EmployeeID, oe.NumOrders, oe.MaxDate, e.ReportsTo AS ManagerID,
om.NumOrders, om.MaxDate
FROM
Employees AS e
INNER JOIN
(SELECT EmployeeID, COUNT(*), MAX(OrderDate)
FROM Orders
GROUP BY EmployeeID) AS oe(EmployeeID, NumOrders, MaxDate)
ON e.EmployeeID = oe.EmployeeID
LEFT JOIN
(SELECT EmployeeID, COUNT(*), MAX(OrderDate)
FROM Orders
GROUP BY EmployeeID) AS om(EmployeeID, NumOrders, MaxDate)
ON e.ReportsTo = om.EmployeeIDTovábbi lehetőségek: Common Table Expressions
-
ArchElf
addikt
válasz
SQLkerdes
#498
üzenetére
A standard SQL szintakszis szerint VIEW-nak hívják azt, amit te az Access-ből QUERY-nek ismersz: http://en.wikipedia.org/wiki/View_%28database%29
AE
-
SQLkerdes
csendes tag
Látom, hogy a te kung-fud, jobb mint az én kung fum, de nem értem mit mondasz...
-
SQLkerdes
csendes tag
Sziasztok, van egy bosszantó problémám és a neten nem leltem semmit ezzel kapcsolatban.
Háttér:
szoftver: SQL Server Management Studio Express (tudjátok amit le lehet tölteni és installálni, korlátozott funcionalitás, zéró ár).
Egyetlen gépen fut a teljes cucc, szóval a Dell-emen fut a szerver is meg itt írom a query-ket is.
Statikus adatbázis tábláira írok lekérdezéseket (szal a táblák meg az adatbázis tartalma nem változik menet közben)Probléma: írok query-ket amik eredményét szeretném más query-k FROM részében használni, de nem tudom hogy kell.
Access-ben ez nagyon egyszerű, a query-t úgyanúgy kell használni mintha egy tábla lenne, de MS Server alatt egyszerűen nem látom a query-ket.
Le tudom menteni a query-jeimet (nem az eredményként létrejövő adattáblát, hanem a query-t magát), de itt végetér a tudományom.Meg tudnám csinálni, hogy 'SELECT ... INTO ujtabla' utasítással fizikailag is létrehozom a query-k eredményét, de sok query-m van és félek durván elszállna az adatbázis mérete.
Szintén be tudnám copy-paste-lni a query SQL kódját a FROM részbe (subquery), de az meg hibalehetőség, meg egy idő után bonyolult (pld ha 5-6 táblát meg query-t próbálok join-olni).
Access-ben is megpróbálhatnám, de ott nincs FULL OUTER JOIN, amire meg nagy nagy szükségem van (illetve van, csak bonyi a jobbos meg balos joinokat összefűzni).
Szóval a legjobb megoldás a query-k használata lenne, de nem tudom hogy kell.
Bármi ötletet hálásan fogadok!
-
DBob
őstag
Yo.
Megkérdezlek titeket, hátha tudtok segíteni.Szóval lenne egy access adatbázis. Azon belül 4 tábla. Eléggé speciálisak az igények (az információk különböző beérkezése miatt), így nem lehetett a mostani állapotnál tovább egyszerűsíteni úgy érzem. De a lényeg:
Vannak berendezések, azokban alkatrészek, és ez az egész gépek szerint csoportosítva. A feladatok többsége kész, ám egy még megoldásra vár.
Szeretnénk mondjuk olyat, hogy kiválasztok egy berendezés csoportot, és azon belül az összes alkatrészt először pl törlöm, majd a megkapott valós információkkal feltöltöm.Makróval, űrlapon oda már eljutottam, hogy legördülőlistából kiválasztom a kellő csoportot, majd gombra ciklus kikeresi mindet. És itt megáll a tudomány. Másik táblából a géphez tartozó összes rekordot hogy törlöm? Egyáltalán, sql szinten hogyan hivatkozok rá visual basic alól? Itt van a probléma részemről egyelőre.
Ha valaki tudja a megoldást, ne tartsa magában.
üdv -
Khelben
nagyúr
Én még csak most járok tanfolyamra
de 2 select-tel csinálnám:select * from a
where not exists (select * from b where a.mezo1=b.mezo1 and a.mezo2=b.mezo2....)majd ugyanez b-vel
select * from b
where not exists (select * from a where a.mezo1=b.mezo1 and a.mezo2=b.mezo2....)ha van egy kulcs, ami alapján tudsz hasonlítani, akkor értelemszerűen csak 1 mezőt kell vizsgálni.
-
kampi_
csendes tag
Sziasztok!
SQL téren nagyon kezdő vagyok, ezért a segítségetek kérném. Van két táblám(a mezőneveket hirtelen így fejből nem tudom sajnos). A táblák tartalma folyamatosan változik. Hogyan tudom összehasonlítani a két tábla tartalmát úgy, hogy kiírja nekem a csak a külnbségeket. Tehát ha pl az A táblába bekerült egy új rekord akkor csak azt írja ki, ha pl csak a B táblába került be egy új rekord akkor csak azt írja ki? Tehát nekem tulajdonképpen csak azok a rekordok kellenek amik nem egyeznek meg. Az A táblában egy mezővel több van mint a B-ben. Én az except parancsot próbáltam használni,de nem igazán jött össze.
Legutoljára ezt hasnáltam, de ez mindent visszaadot csak azt nem ami kellett volna

select 'table1' as tblName, * from
(select * from table1
except
select * from table2) x
union all
select 'table2' as tblName, * from
(select * from table2
except select *
from table1) xTudja valaki hogy nézhet ki a script?
Előre is köszönöm!
kampi
-
kukahapci
csendes tag
Üdv!
Segítség kellene: Adott egy Vista gép. Telepítettem egy Iktató programot Microsoft SQL Server 2005 + Iktató-val. Ez tökéletesen működik. Kellene egy mésik programot is telepítenem aminek szintén szüksége van az SQL serverre, a telepítés során a következő hibaüzenetet kapom:
Run-time error '-2147467259 (80004005) [DBNETLIB][Connection Open (connect().] Az SQL Server nem létezik, vagy a hozzáférés megtagadva.
Én úgy látom, hogy az SQL Server fut, és rendszergazdaként próbálom a telepítést.
A Jótanácsokat megköszönném! -
Gyuri16
senior tag
válasz
Louloudaki
#489
üzenetére
SELECT termek_id FROM tabla GROUP BY termek_id ORDER BY sum(darab) DESC LIMIT 0, 2
ha jol ertettem az azonosito itt nem jatszik szerepet, akkor igy kb jo lesz
-
Louloudaki
aktív tag
rendeles tábla:
azonosito=a rendelés azonosítója
termek_id=a termék idja
darab=hányat rendeltekpl
xyz | 26 | 2
xyz | 17 | 1
abc | 26 | 5hogy kapom meg a 2 legtöbbet rendelt terméket? ugye össze kéne adogatni a rendelt darabszámot termékenként aztán a 2 legnagyobbat megkeresni de nekem ez már bonyolult

-
PazsitZ
addikt
válasz
Szkeptikus
#486
üzenetére
Ha minden igaz ennek azt kell kidobnia:
SELECT rendeles_id, ugyfel_id, rendeles_dte, count(DISTINCT kezbesitesi_cim_id) as darab FROM rendelesek
GROUP BY ugyfel_id HAVING darab>=2 -
Szkeptikus
tag
Sziasztok,
Az alábbi problémával kapcsolatban kérném a segítségeteket:
Van egy 'rendelesek' tábla a következő mezőkkel:
rendeles_id
ügyfel_id
kezbesitesi_cim_id
rendeles_dteAzon rendelések azonosítóit és dátumait szeretném leválogatni, amelyekre igaz, hogy a hozzájuk tartozó ügyfél legalább 2 különböző címre rendelt.
Azaz ha "A" ügyfélnek van 73 db rendelése, de mind azonos kiszállítási címmel szerepel, akkor ne kerüljön be a leválogatásba a rendeléseinek azonosítója, ha "B" cégnek van 2 rendelése, amelyeknél a kiszállítási cím eltérő, akkor mindkét rendelési id kerüljön be, ha pedig "C" cégnek van 81 azonos címre és 1 db eltérő címre rögzített megrendelése, akkor szintén mind belekerüljön.
Előre is köszönöm!

-
retes
aktív tag
válasz
CaNNa3IS
#484
üzenetére
Szia,
Bocsi, hogy csak most, de nem tudtam eddig írni. Hát a baj az annyi, hogy amikor elindul akkor is egy access-t hív meg és abban ühyködik. És a program el is indeul, de ODBC kapcsolódási hábát mutat annak ellenére, hogy egy sql server 2000hez meg azonnal csatlakozik, így hát feltételezem, hogy az új szerevern van valami amiért ez nem megy. Kerestem ODBC driver a 2008-2005 SQL Serverhez, de nem nagyon találtam...
Nem tudom hol lenne jó keresni a hibát. Aki meg a programot csinálta egy német srácc és most épp 3 gétig nem lesz elérhető mert nyaral...
-
-
-
retes
aktív tag
válasz
CaNNa3IS
#480
üzenetére
Az a baj, hogy ennyire nem értek hozzá, de szerintem nem run time. Ez egy egyedi fejlesztéső program amit az anyavállalat készített és azt az instrukciót adták, hogy amikor szervert váltok akkor arra kell figylnem, hogy az adatbázis átmenjen, és a fileszervr utána minden értelemszerűan fog menni. Az eredeti szerver esetén a bekonfig az egyszerűen megy, hozzáteszem, hogy belinkelt tábláról lehet szó. AZ ODBC konfig esetén local még a teszt is megy, de ha másik gépról próbálkozom már nem is jutok el a tasztig. MI lehet az összefüggés, esetleg az SQL Express az ami megzavarja?
-
Szevasz
ODBC-vel belinkelt táblákról van szó vagy runtime kapcsolódik?
Ha az első akkor linkeld újra vagy frissitsd be a linket.
Nézd meg hogy a linkelt táblát tudod e olvasni.
Ugyanaz az adatbázis és a server neve is ?
Jogosultságok ? Ha runtime kapcsolódik akkor pl Usernam :sa és a jelszó ugyanaz kell legyen. -
retes
aktív tag
Sziasztok!
Sajnos nem nagyon tudok egyről a kettőre jutni a google-el sem már. Az lenne a probléma, hogy adott egy egyedi fejlesztésű program aminek az sql adatbázisát hordozgattam jobbra balra. Van egy kezelő szerve amit úgy lehet elérni, hogy ODBC szolgáltatásoknál hozzáadom az sql szervert a megfelelő autentikációval majd meghívja az accest. Teszt esetén mikor bekonfolom a ODBC szervert akkor a végén azt mondja, hogy a csatlakozás létrejött teszt alapon belépett, de mikor szeretném a programot indítani akkor ODBC hibára utalva azaz ODBC driver re hivatkozva nem enged csatlakozni. Lehet ez azért mert MS SQL2008 szervert használok vagy csak simán a programnak nem teljesül a kritériuma?
Vagyis csak azért mondtam el mindezt mert fogalmam sincs, hogy milyen úton lehetne elindulni. Abban tudnátok segíteni, hogy az ODBC tulajdonképp mire is használatos, mert ah ezt megtudom akkor kicsit lehet közelebb jutok a megoldáshoz. Vagy még az jutott eszembe, hogy lehetséges, hogy az adatbázissal van a baj?
Előre is köszönöm mindenkinek a segítséget!
Retes
-
retes
aktív tag
Sziasztok!
Közben nagyon sokat okosodtam hála google.com barátunknak. Akit érdekel, hogy hogy csináltam írjatok csak és utbaigazítok mindenkit. Google- segíségével ment is a dolog kb 20 perc alatt átvittem 10 adatbázist. A másolás tovább tartott..

-
retes
aktív tag
Sziasztok!
Olyan kérdésem lenne, hogy adott egy Windows 2003 szerver MS SQL szerver 2000-el. A feladat annyi lenne, hogy ezt az SQL-t át kéne vinni egy másik 2003 szerver-re. Van e olyan megoldás, hogy ingyenes monjuk SQL express szerverrel menjen mert maga az adatbázis nincs 500mega sem? És ha igen tudtok e segíteni, mert én most feltettem egy MS 2008 SQL szervert, de valahogy nem igazodok ki rajta nekem csak annyi kellene, hogy a kimentett adatbázisok fussanak az új szerveren és kész.
Tudnátok segíteni ebben, mert az a 2000 és a 2008 közt igen sok különbséget vélek felfedezni...
Előre is köszi mindenkinek!
-
lazlo8
tag
thx
-
lazlo8
tag
segítséget kérek mer lassan feladom!
Ms acces van 3 oszlop oszlop1 BMW3, BMW5 BMW6 oszlop 2 akcio -10% 20% oszlop 3 érvnyes 08 jan1 09 jan2 hogy lehetne lekérdezni h szerepeljen benne a ami nem változott ill ami változott de abbol csak a legujjab??
Bmw 3 10% 08jan1
BMw3 -20% 09jan5
Bmw5 22% 06jan3
bmw 6 55% 09jan4
Tehát olyan lekérdezés kellene amibe szerepel a bmw 5,6 ill a frisseb BMw 3 (-20% érvényes 09jan5)(legelső sor nemkell -
-
vakondka
őstag
Beraktam programba és hibátlanul megy, köszi a tippet !
Tiszta hülyeség, mert tudtam, hogy lehet rá így hivatkozni, de azt hittem, hogy csak a phpmyadminból lehet így, mert a php-nál kötelező adatbázist választani...hát most kiderült hogy nem éppen így van...megint okosabb lettem
-
cucka
addikt
válasz
vakondka
#469
üzenetére
1. Ha egyszerűen csak át akarod pakolni az adatokat, akkor használd a phpmyadmin beépített export/import funkcióját. (Amennyiben nem túl nagy az adatbázis az import-hoz)
2. Ha feltétlenül programot akarsz rá írni, akkor jó tudni, hogy egy táblára úgy is hivatkozhatsz, hogy adatbázisnév.táblanév. Ekkor ugye nem kell a mysql_select_db, mert anélkül is meg fogja találni az adatbázis szerver a táblákat.
A másik lehetőség, hogy két adatbázis kapcsolattal oldod meg a problémát, ez pl. sokkal rugalmasabb, mert akár két teljesen különböző adatbázis szerverrel is működik a dolog.. -
L3zl13
nagyúr
válasz
vakondka
#469
üzenetére
Még nem használtam így, de ha minden igaz, akkor amennyiben a felhasználó rendelkezik a megfelelő jogokkal mindkét adatbázishoz, akkor elhagyhatod a mysql_select_db-t, és elég csak a queryben megadnod, hogy melyik tábla melyik adatbázisban található az adatbázis.tábla formátumot használva.
-
vakondka
őstag
válasz
VladimirR
#467
üzenetére
Igen ez phpmyadminban biztosan tökéletes (meg ott van másolás menüpont is), de nekem php-val kellene megoldanom, mert sok (64) tábla van, 3 adatbázison kell megcsináljam egyszerre és nem szeretném egyesével végigkattintgatni...
Ott meg muszáj adatbázist kiválasztani a query előtt...vagy rosszul tudok valamit ?
mármint ez kötött, nem ?
$db="adatbazis1";
$conn = mysql_connect('localhost', 'root', '');
mysql_select_db($db, $conn);
mysql_query($sql, $conn);
mysql_close($conn);szóval csak azt nem értem, hogyha kiválasztottam az adatbazis1-et, akkor hogy tudok írni adatbazis2-be ? vagy ez műxik tényleg, csak én nem tudtam ezt eddig ?
Bocs az értetlenségemért...

-
vakondka
őstag
válasz
VladimirR
#460
üzenetére
Köszi szépen a segítséget !
Először nem működött, de aztán rájöttem, hogy én szúrtam el...
Van valami egyszerű módszer arra, hogy saját tárhelyen belül egyik adatbázis bizonyos adattábláját átmásoljam egy másik adatbázisba ?
Az a baj, hogy elkezdtem írni egy ilyen scriptet php-mysql-ben, de nagyon hosszúra sikeredett és állandóan elszáll timeout-al mert sok rekord van (és 64 tábla).Elég lenne egy alapötlet, vagy egy link is...

Előre is köszi !

-
sonar
addikt
Sziasztok,
Van a következő lekérdezésem:
SELECT t.id, t.unitid, t.name, t.jigid, t.creationtime, t.status, mf.name, mf.failurecode, mf.value, mf.hilim, mf.lolim,
mf.status
FROM ffTest t
left join ffserialnumber sn on sn.unitid=t.unitid
left join ffmeasurementdetailfail mf on mf.testid=t.id
left join ffmeasurementdetailpass mp on mp.testid=t.id
where
t.creationtime between '2009-05-18 06:00:00' and '2009-05-19 06:00:00'
and t.description='RF Test'
and t.status='Failed'
and mf.status='Failed'
order by 2Eredmény:
id unitid name jig creationtime status name failurecode value hilim lolim status
20026011 2500706 RF Test 3 2009.05.18 15:25 Failed T3 AGC +7 T3 AGC +7 -29 -62 -92 Failed
20021204 2500819 RF Test 3 2009.05.18 6:57 Failed QAM AGC QAM AGC -10 25 -5 Failed
20021231 2503154 RF Test 4 2009.05.18 7:01 Failed Tuner 1st IF Center Frequency Tuner 1st IF Center Frequency -1 1342 1098 FailedÉs nekem csak az kellene ahol a unitid kétszer fordul elő.
Hogyan tudnám szűkíteni a keresést? -
VladimirR
nagyúr
válasz
vakondka
#458
üzenetére
hozz letre egy uj tabat (temp_tabla), melynek szerkezete megegyezik a product_description tablaeval
-- ideiglenes tabla kiuritese, hatha volt benne adat korabban
truncate table temp_tabla;
-- 4-es language_id-ju sorok lekerdezese a product_description tablabol es beillesztese a temp_tabla tablaba
insert into temp_tabla select * from product_description where language_id = 4;
-- temp_tabla-ban a language_id-k atallitasa 5-re
update temp_tabla set language id = 5;
-- lekerdezes a temp+_tabla tablabol es beillesztese a product_description tablaba
insert into product_description select * from temp_tabla; -
VladimirR
nagyúr
mi az eredeti lekerdezes? igy vaktaban nem igen tudok mondani csak annyit, hogy ha valami szerint rendezel a lekerezesnel, akkor annak iranya megfordithato, s akkor a top 100 lesz az, ami egyebkent az utolso 100 lenne
pl.:
-- 100 legmagasabb fizetessel rendelkezo alkalmazott (csokkeno rendezes es ez elso 100-at valasztjuk)
select * from alkalmazottak order by fizetes DESC limit 100;
-- 100 legkisebb fizetessel rendelkezo alkalmazott (novekvo rendezes es az elso 100-at valasztjuk)
select * from alkalmazottak order by fizetes ASC limit 100; -
vakondka
őstag
Létezik olyan a (mysql-ben) INSERT ami egyben SELECT is ?
A megoldandó probléma a következő:
adott egy tábla aminek products_description a neve
ebből le kellene kérdezni minden sort ahol a language_id=4
utána ennek az eredményét újra beszúrni a táblába, de úgy hogy minden új sornál a language_id az 5 legyenMeg lehet ezt valósítani mysql-ben, vagy írjak rá php progit ?

-
sonar
addikt
Sziasztok,
Olyan lekérdezési lehetőség van, hogy mondjuk nekem az utolsó X értékre van szükségem arra szűrjön?
Az az nekem pl.: top 100 parancs forditottjára lenne szükségem. -
Orc
senior tag
A segítségeteket szeretném kérni. PL/SQL függvényt kellene írnom, ami egy paramétert kap és megnézi, hogy egy adott tábla mely sorában szerepel ez az érték és visszaad egy másik értéket abból a sorból.
negyzet tábla:
szamok negyzetek
1..............1
2..............4
3..............9CREATE OR REPLACE FUNCTION szam(num number) RETURN number IS
temp NUMBER(6);
BEGIN
temp := (select negyzetek from negyzet
where szamok = num);
return(temp);
END;
/
SELECT szam(3) FROM dual;Ez ugye nem jó, hibát ad, holott 9-et kéne vissza adnia. Előre is köszönöm.
-
Jester01
veterán
Tulajdonképpen ha van string összefűzésre aggregáló függvény akkor meg lehet oldani egy GROUP BY kitétellel. Nem mondtad milyen adatbázis, mysql-ben van ilyen GROUP_CONCAT néven. MS SQL-ben és Oracle alatt is lehet rá workaroundot csinálni gugli szerint. Úgy látszik kicsit elhamarkodottan állítottam, hogy nem lehet.

-
Yutani
nagyúr
Sziasztok!
Lenne egy kérdésem: hogyan lehet megoldani azt, hogy a lekérdezés eredményeképpen egy adott mező értékeit felsorolva kapjam meg?
Példa: adott egy tétel, ami a raktárban több szektorban van elhelyezve. Normál esetben annyi rekordot kapok, amennyi helyen található a tétel. Én viszont azt szeretném, hogy a tétel csak egy rekordon szerepeljen, viszont a szektort tartalmazó mezőben felsorolva ott legyen minden szektor, ahol előfordul a tétel.
Remélem érthető vagyok, az SQL-t igen alacsony szinten művelem...
Köszi a segítséget előre is! -
CsodaPOK
senior tag
válasz
Jester01
#447
üzenetére
Köszi szépen a választ! Megpróbálkozom vele.
Közben felmerült még egy probléma: while ciklussal hogy lehet végigmenni egy táblán?
Tehát pl for-nál lehet olyat, hogyfor x in (select fizetés from alkalmazottak)
loop
if (x.fizetés>100000) then <kiír valamit>
else <kiír másvalamit>
end if;
end loop;Ezt hogy lehetne megoldani while ciklussal?
CsodaPOK.
-
CsodaPOK
senior tag
Sziasztok!
Kellene nekem egy gyors és nagy segítség SQL-lel kapcsolatban.
Adott egy tábla. Van benne vezetéknév, keresztnév, fizetés.
Amit meg kéne csinálnom, hogy accept-tel bekérem a vezeték- és keresztnevet, majd ezt a két paramétert átadom egy függvénynek (create or replace function) és a függvény visszatérési érték true, ha az adott emberke fizetése mondjuk nagyobb mint 200000, false ha kisebb.
A probléma igazából az, hogy hogyan tudom a függvény belsejében átnézni a táblát és megkeresni az adott nevű emberke fizetését?
Köszi szépen.
CsodaPOK.
-
sonar
addikt
Sziasztok,
Tudnátok ajánlani egy free sql query analyzert?
-
ArchElf
addikt
válasz
hemu5018
#441
üzenetére
TEVEKENYSEG (ID,NEV)
USER (ID,NEV),
JELENLET (DATUM,USERID,TEVEKENYSEGID)SELECT LAST(JELENLET.DATUM) AS UTOLSOBEJELENTKEZES, USER.NEV
FROM JELENLET LEFT JOIN USER ON USER.ID = JELENLET.USER
LEFT JOIN TEVEKENYSEG ON TEVEKENYSEG.ID = JELENLET.TEVEKENYSEGID
WHERE TEVEKENYSEG.NEV="BEJELENTKEZES"
GROUP BY USER.NEVCsillaggal nem tudsz groupby-olni. Ja, amúgy csak kattintgatsd össze access-ben; nem értem, miért akarsz access-ben sql-t írni

AE
-
-
hemu5018
csendes tag
Sziasztok!
Access SQL-jével nem jutok dűlőre!
Adott 3 tábla:
TEVEKENYSEG (ID,NEV)
USER (ID,NEV),
JELENLET (DATUM,USERID,TEVEKENYSEGID)Ebből szeretnék olyat kinyerni, hogy az összes user dátum szerinti utolsó bejegyzése, ami mysql-ben így nézne ki:
SELECT * FROM JELENLET LEFT JOIN USER ON USER.ID = JELENLET.USER LEFT JOIN TEVEKENYSEG ON TEVEKENYSEG.ID = JELENLET.TEVEKENYSEGID GROUP BY USER.ID ORDER BY JELENLET.DATUM DESCEgyszerűen nem értem ezeket a groupoláskor használt last, first stbstb függvényeket!

-
zhagyma
őstag
válasz
cellpeti
#436
üzenetére
A kereskedelmi "fizetős" adatbáziskezelőknek van "ingyenes" változata, ami a tanulásra kiváló (Microsoft MSSQL, IBM DB/2, Oracle, stb.). Ha "open source" megoldásra vágysz, akkor a MySQL-n kívűl érdemes megnézni az alábbiakat is:
[Firebird] Az oldalról letőlthető a "kezelő" program
[PostgreSQL] Az installban benne van a "kezelő" program.A PostgreSQL-t az egyik legjobb SQL szabvány megvalósításnak tartják. A Firebird pedig nagyon kevés memóriával is beéri, így lokális fejlesztéseknél kiváló.
-
cellpeti
nagyúr
sziasztok!
milyen jó adatbázis kezelő progi van ami ingyenes?

-
PazsitZ
addikt
A foreign key-nél hiányzik, hogy mire hivatkozik.
CONSTRAINT pk_diak FOREIGN KEY ( ofo )
REFERENCES xDiak(ofo),CREATE TABLE tDiak(
Azon smallint,
nev varchar( 30 ) NOT NULL ,
kor integer,
ofo varchar( 25 ) DEFAULT 'ofo1',
CONSTRAINT pr_key1 PRIMARY KEY ( Azon ) ,
CONSTRAINT uq_diak UNIQUE (nev),
CONSTRAINT pk_diak FOREIGN KEY ( ofo )
REFERENCES xDiak(ofo),
CONSTRAINT ck_diak CHECK (kor <100)
) ; -
rdi
veterán
Üdv,
valaki megnézné nekem ebben hol a hiba?
Mert én nem találom...CREATE TABLE tDiak(
Azon smallint,
nev varchar( 30 ) NOT NULL ,
kor integer,
ofo varchar( 25 ) DEFAULT 'ofo1',
CONSTRAINT pr_key1 PRIMARY KEY ( Azon ) ,
CONSTRAINT uq_diak UNIQUE (nev),
CONSTRAINT pk_diak FOREIGN KEY ( ofo ) ,
CONSTRAINT ck_diak CHECK (kor <100)
) ;köszönöm
-
OtheriS
csendes tag
Sziasztok!
Szűrésnél két értéket kellene megadnom egy oszlopnak. pl. listázza ki azokat a sorokat ahol az ID = 0 és 15505. ez igy néz ki:
SELECT Id FROM Tábla WHERE id = 0 és??? itt akadok el, hogy ezt hogy adjam meg neki, mert probálkoztam már de sehogysem akarja elfogadni.köszi elore is a segitséget
-
Hani
aktív tag
A legalább egy db. tulajt megoldom: amikor beviszik az adatokat és lakásokat, addig nem enged tovább, amíg meg nem ad hozzá legalább egy tulajt.
A közös history-tábla érdekes és jó ötlet, csak simán sorba kell raknom őket dátum szerint, és minden szép.
Egy hülye kérdés a triggerekről: Létezik (vmilyen szinten, módon, akár gányolva) idővezérelt trigger? (mondjuk úgyis előbb lekérdezi az adatokat a felhasználó, szóval ha nincs, hát nincs. Max. napi árfolyam - historynál lenne érdekes, ha a user csak hetente kérdezné le az aktuális árfolyamot, de kíváncsi lenne pl. december minden napján az eltárolt árfolyamokra)
Asszem, utánanézek az automatizált végrehajtásoknak/lekérdezéseknek.
Mindenesetre köszönöm a segítséget.
-
ArchElf
addikt
1 Lakás tábla - lakás tulajdonságokkal
1 Személy tábla - emberek tulajdonságaival
1 History tábla:
- Lakás azonosító
- Személy azonosító
- Birtoklás típusa (Tulaj/Bérlő)
- Birtoklás kezdete
- Birtoklás vége
Az kötelezően egy tulajdonost adatbázis szinten meg tudod ugyan oldani, de ez csak gányolás. Tessék programoból lekezelni. Ám ha kötelező megcsinálni, akkor a Lakás táblába bele kell tenni egy (fő)tulajdonos azonosítót - de az ehhez tartozó (a megfelelőséget bizosító) Constraint-eket és Trigger-eket már nem egyszerű megcsinálni. És ugye ez mégis csak gányolás.AE
-
Hani
aktív tag
Hello mindenkinek.
Egy kis segítség kéne, inkább adatbázis-tervezés, mint sql, de aki erre jár, gondolom tud pár ötletet adni.
Egy leegyszerűsített példával bemutatva: legyenek mondjuk lakások, tulajdonosok és bérlők. A lakásoknak is van mondjuk 10 eltárolandó tulajdonsága, a tulajdonosoknak is és a bérlőknek is.
Akkor most bonyolítsunk egy kicsit rajta:
Egy lakásnak legalább egy darab tulajdonosa van, de egyszerre akár több tulajdonosa is és több bérlője is lehet.
Ahogy az idő múlik, a tulajdonos(ok) és bérlő(k) személye változhat, és ha változnak, akkor nekem el kell tárolnom a régi és az új adatokat is (history)Ugyanígy: egy embernek lehet egyszerre több lakás a tulajdonában, illetve egy bérlő bérelhet egyszerre több lakást is.
Az idő múlásával itt is változhatnak ezek az adatok, és ugyanúgy tárolnom kell a régi és az új adatokat is, tehát itt is van history.Hogyan lehet ezt normálisan megoldani?
A jelenlegi megoldás nem igazán tetszik: van egy Lakás tábla, egy Tulajdonosok - tábla és egy bérlő-tábla, ahol ezeknek az adatait tároljuk. Van egy Lakás-Tulaj tábla, ahol a lakások ID-je van összepároztatva a Tulaj ID-kkel, és egy lakás-bérlő tábla, ahol a lakások ID-je van a bérlők ID-jével összepároztatva. History jelenleg nincs.
Minden ötletet szívesen fogadnék.
-
Dominator
aktív tag
Segítséget szeretnék kérni egy szakértőtől:
lehetséges, hogy a PostgreSQL 8.0 nem tudja helyreállítani egy magasabb verziójú változat backup-ját? Az alábbi hibaüzenetet kapom a restore művelet végén:[I]pg_restore: *** aborted because of error
A processzus 1 kilépési kóddal tért vissza.[/I]
Vagy lehetséges, hogy más az oka? Lehet, hogy át kell konvertálnom PostgreSQL 8.0 kompatibilis verzióra? Hálás lennék, mert fogalmam sincs az adatbázisok használatáról, de szükségem lenne rá, hogy visszakapjam ezeket az adatokat

-
ArchElf
addikt
válasz
wildrain
#414
üzenetére
Ha még aktuális:
XP Home sajnos felejtős, nem hiszem, hogy a telepítőben van IIS. Amúgy meg tudod nézni a Add-Remove Components között az Add-Remove Programs-ban.Másrészt otthonra próbáld meg inkább az SQL2005 Express-t. Van egy-két korlátozása, de tesztelésre/gyakorlásra jó lehet (hacsak nem azokat a szolgáltatásokat akarod tesztelni, ami kifejezetten csak a teljes verzióban van benn).
SQL Server 2005 Express - úgy nézem az XP Home SP2 benne van a listában
SQL Management StudioAE
-
Orb1337
tag
Ultrawebes oldalra csináltam phpmyadminnal mysql adatbázist. Dreamweaverrel szeretném az adataimat hozzá felvinni. A progi gond nélkül csatlakozik az sql szerverhez, de nem látja az előre elkészített táblát. Mi lehet a gond?
-
wildrain
addikt
válasz
Jester01
#416
üzenetére
Az installer nyitóképernyőjén kérdezett, ott az elsőt választottam, de most kipróbáltam a másodikat is, nem segít:
Server components, tools, Books Online, and samples
Run the SQL Native Client Installation WizardGyanítom, hogy azzal lehet a gond, hogy ez egy olyan programverzió, amit a microsoft az iskoláknak biztosít betanulásra.
-
wildrain
addikt
Ha nem tévedek, ott van a kutya elásva, hogy a telepítéskor csak a kliens cuccokat ajánlotta fel a telepítő, a szerver létrehozásához még kellene valami(?).
-
wildrain
addikt
Először is kösz a segítséget
, másodszor pedig megkérlek, hogy értelmezd, amit írtam. Nem adatbázist, hanem szervert nem tudok létrehozni. Ha tudnék szerverhez kapcsolódni, akkor az adatbázis létrehozása már sima ügy lenne.
A fősulin tanulok adatbáziskezelést, és most vizsgáznék belőle, így felraktam az otthoni gépemre a tanulóverziót, de mivel a telepítés, beüzemelés szóba sem került órán (nyilván az ilyenről csak olyan mértékben volt szó, hogy "Indítsák el a programot, a bejelentkező ablakon kattintsanak a Connect-re"), így itt el is akadtam. Szóval nem az sql parancsokhoz vagyok hülye, hanem a program telepítéséhez, beüzemeléséhez.
Egyébként sem biztos, hogy rosszul csinálok valamit, lehet, hogy a program rosszul települt, de sajna nem tudom, hogy hogyan kellene kinéznie az első használat során.Szóval ha kielégítettem a kíváncsiságodat, akkor akár segíthetnél is, hiszen arrogáns kérdésedből arra következtetek, hogy neked ez simán menne... Előre is kösz.

-
vakondka
őstag
A PHPMyAdmin-ban nincs is semmi poén...

Az már érdekesebb, mikor írsz egy programot ami adatokat tárol, illetve módosít, hív elő.
Pl a Prohardver is így működik.
Gondolj bele mi minden kell:
regisztráció: név, e-mail, cím, jelszó tárolása, stb.
beléptetés: kiolvasni az adatbázisból és ha stimmelnek az adatok, akkor beléphet.
Hozzászólás: adatbázisba írsz adatokat.
Mikor olvasod a Prohardvert: adatbázis adatainak listázása.Ezt természetesen nagyon leegyszerűsítettem, hiszen tőlem sokkal okosabb emberek írták a motorját a fórumnak

De gondolj bele mi mindenhez kell adatbázis:
- webáruház
- termékkatalógus
- fórum
- CMS (tartalom kezelő rendszer)Csak fantázia kérdése az egész.
A PHPmyAdmin szerintem elsősorban arra jó, hogy létrehozz adattáblákat, majd próba lekérdezéseket hajts végre a kézzel felvitt teszt adatokon.
Így még azelőtt optimalizálhatod a táblák szerkezetét, mielőtt konkrétan megírnád a programot (pl a web-nél maradva PHP nyelven). -
wildrain
addikt
Telepítettem egy MS SQL Server 2005-öt, de egészen az elejénél elakadtam: Hogyan kell szervert létrehozni? Valamit csináltam, de nem biztos, hogy jó, mert amikor elindítom a Management Studiot, a bejelentkező ablak Server name mezője üres, és tallózáskor sem látszik egyetlen szerver sem.
Van erről valami szájbarágós doksi a neten? Súgót ugyan olvasgattam, de nem vágom, hogy ilyenkor mi van. -
Cyno
tag
Nekem is egy kezdő kérdésem lenne.
Sajnos nem tudom elkerülni az SQL-t. Valaki tudna nekem egy általa használható, jónak gondolt forrást ajánlani, amin keresztül elkezdhetném a barátkozást. -
lajszer
tag
Teljesen kezdő vagyok a SQL-témában!
Azért írok, mert fősulin, jövőre választható a SQL-programozás és igazából nem tudom mit jelent
Próbálkozgattam phpAdminnal, aztán rájöttem, hogy ilyen táblázatot lehet csinálni
és az szerkesztgetni...
de nem értem mi abbe a nagy poén, ha ott a Excel vagy az Access
Valaki értelmesen lehetőleg magyarul elmagyarázná mi ez

-
ReFleXx
addikt
Hi *.*
Az lenne a kerdesem hogy nincs-e veletlen olyan SQL Server amire barki csatlakozhat akar readonlyba. Csak legyen benne par tabla adatokkal hogy tudjam gyakorolni a lekereseket.
Most ebbol kellene nekem egz kis gyorstalpalas, es nem akarok sok idot arra pazarolni hogy letrehozzak egyet es feltoltsem adatokkal.
Letezik ilyen? -
Rimelek
csendes tag
MySQL -ben a sum() -on belül nem lehet újabb select utasítás, ezért adhatta a te verziódra a szintaktikai hibát. Viszont itt jön képbe a hasznos GROUP BY , ami ugye annyit tesz, hogy csoportosítja az eredményhalmazt a neki megadott mező szerint. Tehát jelen esetben a tabla2.tabla1id mező szerint. Ha van 10 darab az 5-ös tabla1id ből, akkor azt egy "csokorba" fogja, és az eredmény egy darab rekord lesz, de ettől még lehet rá lekérdezéseket írni.
A tabla1 összes mezőjét lekérdezi, és a tabla2.cella meznek összegét is, de mivel csoportosítva vannak az eredmények, az egy csoportba tartozó cella mezők összegét kérdezi le. innentől az sm-nek átnevezett összeg ugyanolyan mezőként használható, mint a többi. Lehet az alapján fordítva listázni.
Na ezt zavarosan írtam le azt hiszem...
A joinról gondolom nem kell beszélnem, de az csak a két táblát kapcsolja össze a megfelelő mezőik alapján.
-
Rimelek
csendes tag
Nem teszteltem pont ilyen tábla szerkezettel, de futtattam és hibát nem adott, csak esetemben nem látszik pontosan az eredmény helyesége, de azért leírom, hogy szerintem így lehetne:
SELECT tabla1.*, sum(tabla2.cella) as sm
FROM tabla1 LEFT JOIN tabla2
ON tabla1.id = tabla2.tabla1id
GROUP BY tabla2.tabla1id
ORDER BY sm DESC -
raczger
őstag
Hali, egy viszonylag egyszerű sql selectet akarok létrehozni, de nem sikerül, valamit valószínűleg rosszul írok, de lehet, hogy teljesen rosszul állok a dologhoz, most így néz ki, de elvileg sql szintaktikai hibás:
SELECT * FROM tabla1 ORDER BY SUM(SELECT cella FROM tabla2 WHERE tabla1id='tabla1.id') DESC
Tehát visszafele rendezve akarom lekérdezni a tabla1-et, és a visszafele rendezés az azon tabla2 cella celláinak összege, amiknek a tabla1id cellájukban a tabla1 id-je van. Előre is köszi!

-
Realradical
őstag
válasz
Realradical
#400
üzenetére
Köszönöm a nyüzsgést és a temérdek ötletet. Formailag valahogy így sikerült megoldani

SELECT Table.Field1, JoinedTable.Field2
FROM server.db.owner.TableName Table
INNER JOIN server.db.owner.tablenev1 JoinedTable ON
Table.ID = JoinedTable.Table_ID
Új hozzászólás Aktív témák
- LENOVO LEGION 5 15AHP10 (83M0001MHV)
- Apple iPhone 13 Mini 128GB
- Macbook Pro 16" - 2020 gyártás, 6 mag i7, 16/512GB, Radeon 4GB, touchbar - garancia (66)
- Apple Watch Ultra 2 49mm GPS + Cellular - 98%, full dobz - Apple garancia (202)
- Samsung Galaxy Z Flip 5 8/256GB - Makulátlan állapot! - A szállítást állom!
- GYÖNYÖRŰ iPhone SE 2020 256GB Black-1 ÉV GARANCIA - Kártyafüggetlen, MS4003
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 32/64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i9 14900KF 32/64GB DDR5 RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- Asus Zenbook 14 OLED 2.8K 90Hz HDR 10bit Ryzen5 5600H 16GB 512GB SSD Radeon RX Vega7 Win11 Garancia
- GYÖNYÖRŰ iPhone 12 mini 256GB Blue -1 ÉV GARANCIA -Kártyafüggetlen, MS3625, 100% Akkumulátor
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: Laptopszaki Kft.
Város: Budapest
de 2 select-tel csinálnám:




)




