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.
Gyorskeresés
Legfrissebb anyagok
Általános témák
LOGOUT.hu témák
- [Re:] [FireFox1996:] 2024 tavaszi fórum peca
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [gban:] Ingyen kellene, de tegnapra
- [Re:] [sziku69:] Szólánc.
- [Re:] Viber: ingyen telefonálás a mobilodon
- [Re:] Android másképp: Lineage OS és társai
- [Re:] [sziku69:] Fűzzük össze a szavakat :)
- [Re:] [Sub-ZeRo:] Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- [Re:] eBay-es kütyük kis pénzért
Szakmai témák
PROHARDVER! témák
Mobilarena témák
IT café témák
Hozzászólások
faster
nagyúr
L3zl13
nagyúr
És voltak olyan értékek a teszt adatbázisban, ahol az egyik vagy a másik oszlop egyezett, de a kettő együtt nem?
Aki hülye, haljon meg!
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]
Rockbandám: https://fb.me/scharlotterhodes *** Gitárelektronikai műhelyem: https://www.fb.me/goosetgitar
jeszi
tag
A közel 40 perces lekérdezésből 1 másodperces lekérdezés lett! Köszi! !
Nem félek a haláltól, majdcsak túlélem valahogy!
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]
sbazsi
veterán
Köszönöm.
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).
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
Amennyiben aktuális még:
SELECT id
FROM teszt
WHERE INSTR(text,'2') <> 0
;
Oracle 9.2-n tesztelve.
''Az élet egy hatalmas film... ...csak nem te választod a műfajt''
VladimirR
nagyúr
esetleg ... WHERE text LIKE '%2%';
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
sbazsi
veterán
köszi,
de azt hiszem ez így nagyon bonyolult. így néhány stat eltűnik.
Mai Hardverapró hirdetések
prémium kategóriában
- Asus játékra is,15,6 FullHd,Ryzen 3 3200u(3,5Ghz),RX Vega 3 2GB VGA,8GB DDR4 RAM,SSD, szép állapot
- Asus ZenBook(ultrakönnyű,16mm!),13,3"4K(3200x1800)IPS,core i7 5500u,8GB Ram,SSD,7 óra akku
- Apple watch 5 , 44mm cellular
- Dell 14,1" Érintő kijelző,FullHd IPS,i5 8350u(8x3,6Ghz)világító bill,8GB RAM,SSD, jó akku, Újszerű
- Arcam Irdac