Új hozzászólás Aktív témák
-
Gambitman
csendes tag
Sziasztok!
A kérdésem a következő:
Van egy táblám sportoló néven sportolók adatairól
Egy másik meccs nevű táblám amiben van egy győztes és egy vesztes mező mindkettő a sportoló táblára mutató idegen kulcs.
Hogy tudok olyan join-t létrehozni amiben össze tudom hasonlítani a két sportoló adatait, pl a magasságuk különbségét?
Ugye ez esetben 2x szerepelnének az egyesített táblában a sportoló tábla mezői. -
Nedudgi
aktív tag
válasz Gambitman #52 üzenetére
Nem egészen értem de erre vagy kíváncsi?
SELECT gyv.gyoztes, gyv.vesztes, sportolo.magasság, sportolo.magasság
FROM gyv INNER JOIN sportolo ON (gyv.vesztes = sportolo.azonosító) AND (gyv.gyoztes = sportolo.azonosító);It took the computational power of three Commodore 64s to fly to the moon. It takes a 486 to run Windows 95. Something is wrong here. -- SC sig file UBUNTU - KDE - Rock'n'Roll
-
Nedudgi
aktív tag
Lehet, hirtelen ez jutott eszembe, de azt hogy minek kell ehhez győztes vesztes tábla, bár szvsz egy view-el szerencsésebb lenne megoldani a győztes vesztes összekapcsolást.
It took the computational power of three Commodore 64s to fly to the moon. It takes a 486 to run Windows 95. Something is wrong here. -- SC sig file UBUNTU - KDE - Rock'n'Roll
-
Töki
tag
Sziasztok az alábbi parancsokat adtam meg.
SQL> break on evfolyam skip 1
SQL> compute avg label ÁTLAG of osztalyzat on evfolyam
SQL> select evfolyam, tmegnev, nev, osztalyzat from oktatas order by evfolyam,tmegnev;
A problémám az, hogy az átlag itt-ott 8 tizedes jegyet ír ki. Azt a feladatot kaptam, hogy csak kettőt írjon ki, próbáltam a round paranccsal, de nem működik:
SQL> compute round(avg,2) label ÁTLAG of osztalyzat on evfolyam
Az egyetlen ötletem, hogy formázom az egész oszlopot, de akkor a jegyeknél is 2 tizedes jegy lesz (pl:4.00), és sajnos ez sem jó.
Van valakinek ötlete, életbevágó lenne.Csak egészség legyen és Térerő
-
Töki
tag
Up!
Csak egészség legyen és Térerő
-
Szaki@Pécs
tag
probléma:
van két tábala x és y és kéne törölni x-ből azokat a sorokat, melyekben lévő param1 és param2 nincs benne y-ban (egyszerre, egy sorban).
SELECT param1, param2 FROM x MINUS SELECT param1, param2 FROM y;
ez megadja a kívánt sorokat, de mindkét paramétert visszaadja ezért a
DELETE FROM a WHERE param1 = (SELECT param1, param2 FROM x MINUS SELECT param1, param2 FROM y);
nem müxik, too many values
megoldási javaslat?Az abraka-dabra ehhez képest csak hókusz-pókusz.
-
sky77
aktív tag
válasz Szaki@Pécs #63 üzenetére
Így esetleg?
delete from x
where param1 not in (select param1 from y)
and param2 not in (select param2 from y)
Mielőtt próbálgatod, azért valami biztonsági másolatot készíts!''Emberek, vessetek a mókusok elé!''
-
L3zl13
nagyúr
Egy körben szvsz így:
delete from x where (param1, param2) not in (select param1, param2 from y)
Először szvsz delete helyett használj select *-ot és csekkold, hogy jó-e. Vagy biztonsági másolat.
Szerk: Az uccsó mondat a kérdezőnek szólt természetesen.
[Szerkesztve]Aki hülye, haljon meg!
-
Szaki@Pécs
tag
-
L3zl13
nagyúr
válasz Szaki@Pécs #66 üzenetére
Az övé azért nem jó, mert nem egyszerre vizsgálja a két paramétert. Szóval ha bármelyik paraméter szerepel a táblában, akkor már nem kerül bele a listába. Függetlenül attól, hogy a másik paraméterrel egy sorban szerepelt-e vagy sem...
Ps az enyém sem biztos, hogy jó, persze ezért próbáld ki.
Ha így nem megy, akkor még trükközhetsz olyannal, hogy:
delete from x where (param1+param2) not in (select param1+param2 from y)
+ helyett a megfelelő szöveg összefűzés művelettel
[Szerkesztve]Aki hülye, haljon meg!
-
metalcsiki
csendes tag
Hali! Nemtom hova kellene írni ez áll legközelebb a témához! Tudna nekem valaki segíteni a Poseidon nevű programban? Osztálydiagrammot és szekvenciadiagrammot kellene csinálnom és foggalmam nincs hogy! Légyszi segítsen valaki nagyon fontos lenne! Előre is köszi!
''Ööööööööö Beavis & Butthead! You little bastards!''
-
jeszi
tag
Van egy tábla, melyben a mezők: |telep| |megye| |nev| |id| |és még sok oszlop...|
Azokat a sorokat akarom megkapni, melyben a nev+megye csak egyszer szerepel.
Szóval ha 2 ''Nagy Béla'' van Hajdú-Biharban, akkor ő ne legyen benne az új táblában.
Ha csak az egyedi neveket nézem, akkor ez működik:
SELECT * FROM brick, [SELECT nev as onev, count(*) as db FROM brick GROUP BY nev having count(*) = 1]. AS [onev] WHERE nev = onev;
Tudja valaki a megoldást?Nem félek a haláltól, majdcsak túlélem valahogy!
-
L3zl13
nagyúr
Első körben talán valahogy így...
Persze lehet, hogy van jobb megoldás.
SELECT * FROM brick, [SELECT CONCAT(nev, region) as nev_reg FROM brick GROUP BY nev_reg having count(*) = 1]. AS [nev_reg] WHERE nev_reg = CONCAT(nev, region);
Jah, CONCAT MySQL függvény. Nem tudom te mit használsz...
[Szerkesztve]Aki hülye, haljon meg!
-
jeszi
tag
Most nézem csak, hogy írtál nekem megoldást, mindjárt kipróbálom azt, de közben sikerült egy jó megoldást találnom:
SELECT * FROM brick,
[SELECT nev + megye as nev_megy FROM brick
GROUP BY nev + megye having count(nev + megye) = 1]. AS nev_megy
WHERE nev + megye=nev_megy;
Köszönöm a gyors segítséget nektek!Nem félek a haláltól, majdcsak túlélem valahogy!
-
faster
nagyúr
Nem ''in'' kell az egyenlő helyett?
Elméletileg, de megy egyőségjellel, sőt, ha rákeresel arra, hogy ''subquery syntax'', a mysql helpnél ez jön ki:
SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2);
A beágyazott rész meg szvsz nem jó, ha külön group by-olod a két oszlop szerint...
Kipróbáltam, és pontosan ugyanazt az eredményt adta, mint a concattal összefűzött mezőknél. -
jeszi
tag
Van két tábla: ''a'' és ''b''
a-nak azon elemeit akarom megkapni, melyek b-ben nincsenek meg.
Azt hiszem ez jó megoldás:
SELECT a.id FROM a
WHERE a.id NOT IN
(SELECT b.id FROM b);
Indexelve vannak a mezőnevek, de már 25 perce fut a lekérsezés! Nem lehet ezt valahogy másképp megírni? (Ezek a ''not in''-es lekérdezések mindig sokáig tartanak )Nem félek a haláltól, majdcsak túlélem valahogy!
-
Goose-T
veterán
A WHERE feltételbe rakott SELECT nagyon lelassítja a lekérdezést, mivel minden egyes sornál lefuttatja a feltételben szereplő SELECT utasítást. Ha az a.id és a b.id megfeleltethető egymásnak, akkor egy LEFT JOIN-os lekérdezéssel közösíteni kell a két táblát majd egy külső SELECT-tel kiválogatni a megfelelő rekordokat, valahogy így:
SELECT * FROM (SELECT a.id as aid, b.id as bid FROM
a LEFT JOIN b ON a.id = b.id) WHERE bid IS NULL
[Szerkesztve]Eladó XBOX: https://tinyurl.com/mvjdennu *** Rockbandám: https://fb.me/scharlotterhodes *** Gitárelektronikai műhelyem: https://www.fb.me/goosetgitar
-
senior tag
SOS segítség kellene, mert nagyon elakadtam, feltúrtam az általam elérhető helpeket, dokumentumokat, de nincs válasz bennük!!
Szóval Ms SQL 2000 alatt szeretnék user defined function - azaz felhasználó által létrehozott függvényt csinálni, olyat, ami beolvas az adatbázisból egy tábla több oszlopát és az adatival matematikai műveleteket végez. Ami nem megy: Egyszerűen sehol nem látok példát arra, hogy a függvényben hogyan hivatkozhatok egy tábla oszlopaira?????
Ami eddig megvan:
CREATE FUNCTION tartozik
(
@HatraEvdij INT,
@TeljEvdij INT,
@Tartozas INT
)
RETURNS INT
AS
BEGIN
SET @TeljEvdij = Évesdíjak.Inév + Évesdíjak.IInév + Évesdíjak.IIInév + Évesdíjak.IVnév
SET @HatraEvdij = (Évesdíjak.Évesdíj /365)*99
SET @Tartozas = @TeljEvdij - @HatraEvdij
RETURN @Tartozas
END
A hivatkozott oszlopok: Évesdíjak.Inév, Évesdíjak.IInév III..IV
és az Évesdíj.Évesdíj
Így ahogy van hibaüzenetet ad a függvénykészítő hogy nem találja, vagy nem jó az Évesdíj. hivatkozás...
Gyors segítség kellene!!!
[Szerkesztve] -
sbazsi
veterán
hogy lehet egy táblában a legeszerűbben az egyik mezőben lévő értéket lecserléni?
pl www.cegnev.hu -> www.cegnev.com
sok sorban kellene, manuálisan hajtépő mulatság lenne.
másik kérdés, hogy hogy lehet egy tábla minden sorába egy bizonyos oszolpba beírni valami értéket a többi modosítása nélkül? -
faster
nagyúr
Ezek egyszerű egysoros SQL utasítások. Meglévő rekordok mezőinek az átírására az UPDATE való.
UPDATE tablanev SET mezonev=ertek WHERE kulcs=azonosito;
A példádnál talán valahogy így lehetne:
www.cegnev.hu -> www.cegnev.com
UPDATE tablanev SET akarmi=''www.cegnev.com'' WHERE akarmi=''www.cegnev.hu'';
másik kérdés, hogy hogy lehet egy tábla minden sorába egy bizonyos oszolpba beírni valami értéket a többi modosítása nélkül?
Ha minden rekordban akarsz módosítást végrehajtani, akkor egyszerűen el kell hagyni a WHERE feltételt.
UPDATE tablanev SET mezonev=ertek;
[Szerkesztve] -
Goose-T
veterán
Függvényben is ugyanúgy SELECT-ekkel kell hivatkozni az adatokra. Ha pl. oszlopokat akarsz összegezni, akkor a SELECT-ben használj aggregáló függvényeket (SUM, COUNT, ilyesmi).
Eladó XBOX: https://tinyurl.com/mvjdennu *** Rockbandám: https://fb.me/scharlotterhodes *** Gitárelektronikai műhelyem: https://www.fb.me/goosetgitar
-
e-biza
őstag
hi
a köv gondom az hogy van 3 sorom az XYZ táblámban (mindegyik különbözö id-vel rendelkezik):
1: 1,2,3
2: 2,3,4
3: 3,4,5
Szeretném kiiratni azt amelyik a 2-es számot tartalmazza. (azaz az id1 és id2-t) hogyan lehetséges? a segitséget elöre is köszönöm.Liƒє is too short. - http://www.lowcostdomain.eu
-
stanci
tag
Szerintetek ez mért nem megy?
ALTER TABLE dolg
ADD CONSTRAINT cons_date CHECK (belepes_date < sysdate)
;
hibaüzi:ADD CONSTRAINT cons_date CHECK (hiredate < sysdate)
*
Hiba a(z) 2. sorban:
ORA-02436: a dátum vagy rendszer változó hibásan nam megadva a CHECK megszorításban
MOD: Vlad ez neked biztos gyerekjáték.
[Szerkesztve]''Az élet egy hatalmas film... ...csak nem te választod a műfajt''
-
sbazsi
veterán
Van egy excel tábla és egy sql adatbázis.
Hogy tudom az excel tartalmát úgy visszatölteni az adatbázisba, hogy bizonyos oszlopok lecserélődjenek, bizonyosak pedig maradjanak azok, amik.
(Az adatbázisba korábban már beletöltöttem az excel tábla tartalmát, csak azt akarom, hogy az egyik oszlop megmaradjon.) -
Gregorius
őstag
Ha egyszeri alkalom, akkor ez a leggyorsabb megoldás szerintem:
1. átnevezed az SQL-ben lévő táblát A-ra
2. beimportálod az excel táblát B néven
3. csinálsz egy inner join lekérdezést az egyező oszlopok mentén és onnan veszed a megfelelő oszlopot, ahonnan meg akarod tartani.
4. Az így kapott lekérdezést kiküldöd a megfelelő táblába (SELECT INTO)
Ha gyakran lesz szükség erre a műveletre, akkor írsz rá tárolt eljárást, ami soronként végigmegy az excel táblán (MSSQL2005 előtt ehhez előbb temp-be importálni kell, MSSQL2005-ben direktben lekérdezhető), és a megfelelő sorokat módosítja az SQL táblán.
Ha profi vagy és nagyon tudsz szkriptelni, akkor megpróbálható ugyanez DTS-sel/SSIS-sel is.
Az első szabvány SQL-92 parancsokkal megoldható, a másodikhoz már kell egy kis folyamatvezérlés is, a harmadik meg csak MSSQL-lel működik. -
marcias
őstag
Sziasztok! Nem tudom pontosan, hogy a problémám hova köthető, van köze a PHP-hoz, PHPMyAdminhoz, MySQL-hez és PHP-Nuke-hoz is. Szóval a PHP-Nuke portálon lévő szövegek egy részénél (úgy vettem észre, hogy azoknál, amiket én hoztam létre, pl hírek, hozzászólások, rovatcímek), nem tudja megjeleníteni az ékezetes karaktereket, sőt, az ékezetes karakter után következő szövegrész sem jelenik meg, pl: Kérdések helyett egy K látszik csak. Nem tudom mitől lehet, hiszen van, ahol megjeleníti az ékezeteket, a MySQL és a PHPMyAdmin és ékezetesre van állítva. Viszont van egy hibaüzenet PHPMyAdminnál, hogy a PHP extensions-ok közül az mbstring.dll nem található: ''The mbstring PHP extension was not found and you seem to be using multibyte charset. Without mbstring extension phpMyAdmin is unable to split strings correctly and it may result in unexpected results.'' Ez lehet az oka? Köszi előre is.
Steam: marcias88
-
marcias
őstag
Itt egy kép a probléma szemléltetésére, a bal oldali menüben több helyen nem jelennek meg az ékezetes karakterek:
Steam: marcias88
Új hozzászólás Aktív témák
- Yettel topik
- Kerékpárosok, bringások ide!
- Otthoni hálózat és internet megosztás
- iPhone topik
- Kétféle tájolással munkára fogható, ITX-es ház jött a Sharkoontól
- AI-gyártású celebpornóval küzd a Facebook
- Villanyszerelés
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Melyik tápegységet vegyem?
- Sorozatok
- További aktív témák...
- Be quiet! Pure Wings 2 140mm PWM High-Speed
- Ejha! HP EliteBook 840 G6 Fémházas Laptop 14" -70% i5-8365U 4Mag 16Gb 1TB SSD FHD IPS + Táska!
- ELADÓ intel i5-9400f (igény esetén hűtővel)
- GeForce EVGA GTX 1660 SUPER 6GB
- Részletfizetés. Bontatlan. noblechairs EPIC székek azonnal . 24 / 36 hónap garancia . +36301300000
- Mercusys MR70X Router, AX1800, Dual-Band, WiFi 6, garis eladó!
- ÚJ! Western Digital Red 4TB merevlemezek. Számlával, garanciával!
- Garmin Venu 3S okosóra - Pebble Grey, Slate rozsdamentes acél kerettel
- Új! - Univerzális Milánói fém szíj 22mm - Ezüst színben
- Philips Hue Devote fehér függesztett csillár + White Ambiance izzó