Hirdetés

2024. április 26., péntek

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  SQL kérdések (kiemelt téma)

Hozzászólások

(#301) imibogyo válasza Lortech (#300) üzenetére


imibogyo
veterán

Még egy utolsó kérdés...
Az nem lehet baj, hogy az említett táblák fel vannak töltve ????
Sajnos tényleg nem nagyon értek ezekhez a dolgokhoz.. :W

De nagy RESPECT a segítségért. :C

(#302) Lortech válasza imibogyo (#301) üzenetére


Lortech
addikt

Nem, akkor üres halmazt kapsz vissza. Szintaktikai hibát nem okozhat.

Biztos kell neked ez a select? Az első hozzászólásban csak a táblasémát írtad, mint feladat. A selectet csak szemléltetésképpen írtam.

Ha adsz valami publikus logint a szerveredhez, akkor esetleg be tudom rajta üzemelni.

Thank you to god for making me an atheist

(#303) zeix


zeix
senior tag

Helló!

Egyszer már megkérdeztem itt vagyis régebben de nem találom... ez a 300hsz kevésnek tűnik...

a kérdésem: azonos táblában hogyan tudom lekérdezni, hogy pl. két ugyanolyan telefonszám létezik-e ugyanabban az oszlopban?

(#304) Jester01 válasza zeix (#303) üzenetére


Jester01
veterán

A group by és a count() megfelelő kombinációjával.

Jester

(#305) zeix válasza Jester01 (#304) üzenetére


zeix
senior tag

köszi

kicsit bővebben kérhetném ha lehet? :R
annyira nem vágom...

(#306) Jester01 válasza zeix (#305) üzenetére


Jester01
veterán

select oszlop from tabla group by oszlop having count(*) > 1

Jester

(#307) zeix válasza Jester01 (#306) üzenetére


zeix
senior tag

köszi

(#308) imibogyo válasza Lortech (#302) üzenetére


imibogyo
veterán

Kösz, de sztem sem annyira fontos...... (csak felkeltetted az érdeklődésemet :P )
Egyébként amit kértél, az a felhasználó nevem, meg a jelszóm ???? Mondom láma vagyok...

De nem szívesen vennék el az idődből eddig is sokat segítettél :R :R

és ha jól értem valahogy úgy akarja mint accesben, hogy az adatok ezekből a táblákból legyenek áthozva egy közös táblába
Azért mondtam én azt a közös táblát. :DDD
Egyébként meg arra gondoltam, hogy ha már ilyen feladatot ad, akkor gondolom le is akarja kérdezni, és hát milyen gyönyörűséges pillanat lenne ( :) ) ha egy ilyen lekérdezés is működne, nem csak az hogy (A könyv szeretete 1, 1)....Hát emiatt érdeklődöm, de ha nem lesz az sem baj, csak szép lett volna...

Még egyszer köszi szépen, és :R na meg persze :C

[ Szerkesztve ]

(#309) zeix


zeix
senior tag

Még egy kérdés :)

Szeretnék egy táblázatról növekményes adatmentést csinálni,
vagyis lássam a különbséget a két táblázat között, hogy mik változtak benne.

Hogyan álljak neki? :))

(#310) Lortech válasza zeix (#309) üzenetére


Lortech
addikt

Minden valamirevaló sql szerver tud alapból növekményes backupot. Nem kell kézzel szüttyögni.

szerk: példát kivettem, mert nem jó.

imibogyo:
Egyébként amit kértél, az a felhasználó nevem, meg a jelszóm ???? Mondom láma vagyok...

Nem a te jelszavadat, hanem egy olyan account jelszavát, amivel be tudok lépni a szerveredbe, és ki tudom próbálni.

[ Szerkesztve ]

Thank you to god for making me an atheist

(#311) #65304576 válasza EEdem_Dtx (#293) üzenetére


#65304576
törölt tag

A "DBA..." kezdetű nézeteket csak DBA joggal (role, nem összekeverendő a SYSDBA-val :) ) lehet látni. De ezeknek van "USER..." és "ALL..." nevű változata is. Az előbbiek minden olyan adatbázis objektumot tartalmaznak, amelyek az adott user tulajdonában (owner) vannak, az utóbbiak pedig mindazokat is, amelyeket valaki más kiajánlott neki GRANT-tal, vagy amelyek publikusak (a PUBLIC-nak lettek kiajánlva).
Esetedben az átlag user használhatja az user_tab_cols, all_tab_cols nézeteket - ha a tábla az övé, vagy joga van legalább SELECT-et futtatni rajta, vagy publikus.

Demó adatbázisban a scott/tiger-nek adhatsz mindenféle jogokat, de élesben ne tedd (a sémát se tedd fel). :) Emellett soha ne írj olyan pl/sql scriptet, ami ilyen problémát ideiglenes GRANT-tal próbálna megoldani.

(#312) kraftxld


kraftxld
nagyúr

van egy sql szerverem, hozzá kapcsolódik egy kliens, saját fejlesztéső programmal ami az sql-be ír, olvas mittomén :D

hogyan tudnám monitorozni, hogy ez a kliens milyen sql utasításokat hajt végre a szerveren?

Mindkét géphez hozzáférek fizikailag, admin én vagyok, mind az adatbázishoz mind a gépekhez teljes hozzáféréssel.

| MCSE+M/S, MCITP, VCP6.5-DCV - ''Life can be hard, but Scooter is harder :)'

(#313) Goose-T


Goose-T
veterán

Sziasztok! Ha van itt olyan diák, aki kooperes képzésre áhítozik, nézzen be ide. :)

Rockbandám: https://fb.me/scharlotterhodes *** Gitárelektronikai műhelyem: https://www.fb.me/goosetgitar

(#314) SLIEDER


SLIEDER
tag

Sziasztk lennen egy kérdésme.Elakadtam egy nagyon egyszerű dolgoban annyi lenne a feladat ,hogy a lekérdezésben két oszlopot össze kéne hasonlitani ...
tehát a feladat Készítsen lekérdezést, amely a Mecsekbe irányulo utak közül listázza azokat melyekre minden hely elkelt.A lekérdezés eredménye az összes mező jelenjen meg

tajegyseg az utazást érintő tájegységek neve
maxfo a turnusban hónapra érvényesen maximális létszám
foglalt a turnusban eddig jelentkezők száma

Válaszotokat előre is köszönöm...

(#315) Lortech válasza SLIEDER (#314) üzenetére


Lortech
addikt

select * from utak where foglalt = maxfo AND tajegyseg = 'Mecsek'

Az AND rész már bónusz, nem ismerjük a pontos táblasémát, adatokat.

Thank you to god for making me an atheist

(#316) SLIEDER válasza Lortech (#315) üzenetére


SLIEDER
tag

Köszönöm szépen a segitséget... :R

(#317) nyunyu


nyunyu
félisten

Adott egy kulfoldi fejlesztesu programcsomag, ami InterBase adatbazist hasznal.
Problemam az, hogy akarhanyszor adatbazis hiba van, es kikuldom a gdb fajlt a fejlesztoknek, akkor mindig kulfoldi nyelvu adatokkal kapom vissza a javitott adatbazist.

Kaptam a fejlesztoktol egy nagyonhosszu SQL fajlt, ami tele van UPDATE-ekkel, es vegignyalazza az adatbazist, mindent atirva angolra.
Ezt megelozendo le szeretnem menteni a mostani _magyar_ adatbazisom tartalmat, hogy ha gond van, akkor egy SQL szkript lefuttatasaval visszairna az adatokat magyarra, mert nincs kedvem fel napokat ezzel az adatbazis kezi buheralasaval szorakozni.

IBExperttel kinlodok egy jo ideje, extract metadata opcioja priman mukodik, csak eppen ilyen formaban hozza letre az SQL fajlt:
INSERT INTO COUNTRY (ID, CODE, NAME, CLASSIFIER, CATEGORY, ENABLED, CODE2, INFO, PARAMSTR) VALUES (36, 'AO', 'ANGOLA', '024', 8, 1, 'AO', '', '');

Ha ezt megetetem az InterBase SQL futtatojaval, allandoan hibat dob, hiszen mar letezik ilyen sor. :(

Nekem valami ilyesmi formaban kellenenek:
UPDATE COUNTRY SET
CODE = 'AO',
NAME = 'ANGOLA',
CLASSIFIER = '024',
CATEGORY = 2,
ENABLED = 1
WHERE (ID = 36);

Letezik erre valami _jo_ program, ami ilyen UPDATE queryket general a meglevo tablakbol?

Hello IT! Have you tried turning it off and on again?

(#318) L3zl13 válasza nyunyu (#317) üzenetére


L3zl13
nagyúr

Szvsz vagy valami viszonylag egyszerű scripttel átkonverálod az inserteket update-té, vagy létrehozol egy átmeneti táblát az adatbázisban, abba feltöltöd az insertekkel az adatot (Egy szövegszerkesztőben csere minddel átírod a táblanevet.) és utánna többsoros update-tel frissíted az éles táblát.
Elvileg az InterBase is tud többsoros update-et.

UPDATE Country
SET CODE = (SELECT CODE FROM CountryTMP WHERE Country.ID=CountryTMP.ID),
SET NAME = (SELECT NAME FROM CountryTMP WHERE Country.ID=CountryTMP.ID),
SET CLASSIFIER = (SELECT CLASSIFIER FROM CountryTMP WHERE Country.ID=CountryTMP.ID),
SET CATEGORY = (SELECT CATEGORY FROM CountryTMP WHERE Country.ID=CountryTMP.ID),
SET ENABLED = (SELECT ENABLED FROM CountryTMP WHERE Country.ID=CountryTMP.ID);

Csak akkor müxik, ha a beágyazott select-ek mindig csak egy sort adnak vissza.

[ Szerkesztve ]

Aki hülye, haljon meg!

(#319) nyunyu válasza nyunyu (#317) üzenetére


nyunyu
félisten

Egyszerubb volt a problema, mint hittem. :)

Kulfoldi kollegak felvilagositottak, hogy amikor IBExperttel megnyitom a lementendo tablat, akkor a toolbarban megjelenik egy "export data" ikon, arra kattintva allithato, hogy "UPDATE statement", vagy "INSERT statement" formaban mentse el oket...

(Gondoltam, hogy van valami ilyesmi opcio, csak en a menusort nyalaztam at, ott meg csak az Export Metadata volt, ami nem igy mukodik.)

Hello IT! Have you tried turning it off and on again?

(#320) nukewar


nukewar
tag

ugyan oracle topikban feltettem a kérdést, de némileg talán ide is tartozik, meg talán ez forgalmasabb hely.:

Oracle 10g. SQL commandsban létrehoztam egy táblát, és adtam többek között egy date típusú mezőt is. Viszont insert into-van nem sikerült elsőre eltalálnom a formátumot, hogy mit is szeret Oracle default módon.
Ezért előhalásztam a következő parancsot:
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY/MM/DD';
amit el is fogad, de mégsem ez lesz az új formátum, hanem marad minden a régiben.
Végülis rájöttem, hogy mit szeret (pl.: '85-jan. -10' ), de ez nekem nem fekszik annyira, meg érdekelne, hogy miért is nem fogadja el az alteres parancsot.
Valakinek esetleg tippje?

(#321) Lortech válasza nukewar (#320) üzenetére


Lortech
addikt

Mennie kéne ránézésre, nem látom a problémát. Tesztelni nem tudom. Tüneti kezelésnek nem jó a to_date függvény neked (megadod a dátumot olyan formában ahogy van, aztán a dátum formátumsztringet hozzáigazítod )? Nem tudom mi a cél, csak zavar-e, vagy komoly problémát okoz valami miatt.

Thank you to god for making me an atheist

(#322) nukewar válasza Lortech (#321) üzenetére


nukewar
tag

Ha már beírom az alter parancsot, akkor elvárnám, hogy működjön...
Amúgy csak gyakorlok, semmi komoly meló. De ennek ellenére komoly, hogy nem veszi az adást.

(#323) Lortech válasza nukewar (#322) üzenetére


Lortech
addikt

Biztos nem az oracle a hülye, valami oka kell hogy legyen, csak nem jösz/jövünk rá.

Az az "sql commands" és hogy az "elfogadja" a parancsot, mit takar?
Alter session-re van jogod? Lehet, hogy lefut a parancs, szintaktikailag helyes volt, csak épp nem történt semmi, mert nincs jogosultságod például.

select value from NLS_SESSION_PARAMETERS where parameter = 'NLS_DATE_FORMAT'
Ez a lekérdezés dobja, amit beállítottál?

Thank you to god for making me an atheist

(#324) nukewar válasza Lortech (#323) üzenetére


nukewar
tag

Sajna nem azt dobja.. gyanítom, hogy a jogosultsággal lehet valami. Igazából ismerkedem a rendszerrel. Adminként kéne bejelentkeznem?

(#325) nukewar válasza Lortech (#323) üzenetére


nukewar
tag

Bejelentkeztem system-ként, és úgy adtam ki az alter parancsot, de szintúgy semmi változás.

erre: insert into proba (szdat) values ('1985-01-02');
ezt: ORA-01861: literal does not match format string

erre meg: alter session set nls_date_format='YYYY-MM-DD';
ezt: Statement processed.
...dobja

(#326) lapa válasza nukewar (#325) üzenetére


lapa
veterán

olyannal próbálkoztál, hogy to_date('1985-01-02', 'YYYY-MM-DD') ?

upd: ja látom #321 is ez...

[ Szerkesztve ]

(#327) btotyi válasza nukewar (#325) üzenetére


btotyi
tag

A to_date-hez megadhatsz formátumot is:

TO_DATE('2008-03-10,02:00 PM','YYYY-MM-DD,HH:MI PM')

upd. Én se tudok olvasni :)

[ Szerkesztve ]

(#328) nukewar válasza btotyi (#327) üzenetére


nukewar
tag

Végülis nem megjelenítéshez kéne, hanem amikor az adatot(dátumot) viszem fel, hiszen ott kell tippelnem a formátumot illetően.

(#329) Protezis válasza kraftxld (#312) üzenetére


Protezis
őstag

(#330) kraftxld válasza Protezis (#329) üzenetére


kraftxld
nagyúr

Nem az ojoteklienst akarom log-olni :)
MS-SQL szerveren kéne.

| MCSE+M/S, MCITP, VCP6.5-DCV - ''Life can be hard, but Scooter is harder :)'

(#331) vakondka


vakondka
őstag

olyan sql lekérdezést szeretnék, ami egy táblában (products) egy bizonyos mező tartalmát minden adatsorban kisbetűsre cseréli.

van ilyen update ? :F

https://toptarget.hu - Online Marketing Ügynökség

(#332) Lortech válasza vakondka (#331) üzenetére


Lortech
addikt

Mi okoz gondot?
update products set mezo = lower(mezo);
//mysql

Thank you to god for making me an atheist

(#333) vakondka válasza Lortech (#332) üzenetére


vakondka
őstag

köszönöm :R

https://toptarget.hu - Online Marketing Ügynökség

(#334) defi


defi
tag

Udv, nekem egy olyan kerdesem lenne hogy van 1 oldalam ami elegge alaposan hasznal sql lekereseket, es mar elegge lassu az oldal egy hetvegi delutani idoben (sav van boven, gep picit terhelt) es az lenne a kerdesem ha az MySQL-t kulon gepre teszem (jo savval) azzal erhetek el valamifele gyorsulast ? Sajnos csak az sql-t rakhatom kulon, a tobbinek maradnia kell a masik gepen. A leendo MySQL gep konfigja egy E2100cpu es 4GB ram.
Elore is koszi.

LOAD "*",8,1

(#335) tkazmer


tkazmer
addikt

lehet valahogy az adott, stringet tartalmazó mező hossza alapján rendezni?
tehát pl van egy táblám, ahol van egy abcde oszlop, amelyben az egyik rekordhoz 5 karakteres szó tartozik, a másikhoz 7, a harmadikhoz pedig 3.
meg lehet az oldani, hogy ezt mondjuk 3-5-7 illetve 7-5-3 sorrendben rendezze?

úgy tervezték, hogy kibirjon egy atomtámadást is. De nekünk komolyabb fegyvereink vannak, mint pl Béla bá, a földmunkagépkezelő

(#336) mm00 válasza tkazmer (#335) üzenetére


mm00
aktív tag

Nem próbáltam de valószínű működni fog

3-5-7
SELECT * FROM tabla ORDER BY CHAR_LENGTH(mezo) ASC

7-5-3
SELECT * FROM tabla ORDER BY CHAR_LENGTH(mezo) DESC

(#337) #65304576 válasza tkazmer (#335) üzenetére


#65304576
törölt tag

Nem írtad, hogy milyen adatbázis kezelő alatt.

Oracle-nél használható a length() függvény ORDER BY-ban is. Vigyázat: CHAR típusú mezők esetén a visszatérési érték mindig a mező max. szélessége!

(#338) tkazmer válasza mm00 (#336) üzenetére


tkazmer
addikt

köszi, működik :R

úgy tervezték, hogy kibirjon egy atomtámadást is. De nekünk komolyabb fegyvereink vannak, mint pl Béla bá, a földmunkagépkezelő

(#339) metaldog


metaldog
aktív tag

Hi most akarom elkezdeni tanulni az sql-t valaki tudan valami könyvet ajánlani hozzá? Nekem van egy mysql 24 óra alatt könyvem, az jó?

(#340) mm00 válasza metaldog (#339) üzenetére


mm00
aktív tag

[link] Tessék, innen gyorsan megtanulod az alapokat! Biztos jó az a könyv is amit írtál! próbálkozz, ha gond van kérdezz :)

(#341) zeix


zeix
senior tag

Helló!

Szeretnék több adatbázisból egyszerre hirlevelet küldeni.
Hogyan tudom lekérdezni az email címeket egyszerre?

Kössz a segítséget előre is!

[ Szerkesztve ]

(#342) Lortech válasza zeix (#341) üzenetére


Lortech
addikt

"Egyszerre" sehogy. Egyenként felépíted a kapcsolatokat, lekéred az adatokat, és összeboronálod őket. Vagy hogy gondoltad?

Thank you to god for making me an atheist

(#343) zeix válasza Lortech (#342) üzenetére


zeix
senior tag

hmm...

és azt nem lehetne megcsinálni, hogy az adatbázisokból egy másik adatbázisba másoljam az emailcímeket?
De azt meg állandóan figyelni kellene, hogyha bővítik valamelyik táblát, akkor abban is benne legyenek a friss címek...

(#344) Lortech válasza zeix (#343) üzenetére


Lortech
addikt

De nyilván meg lehet ezt is csinálni, csak kérdés, hogy megéri-e (milyen gyakran kell mailt küldeni, milyen sűrűn változik a mail adatbázis). Szerintem a legegyszerűbb még mindig az, hogy php-val csinálod a kapcsolódásokat minden adatbázishoz külön (vagy csak select_db, ha azonos a szerver) és összefésülöd az adatokat egybe.

Thank you to god for making me an atheist

(#345) zeix válasza Lortech (#344) üzenetére


zeix
senior tag

az adatbázis naponta változik, hirlevelet havonta küldünk.
közben rájöttem, hogy a hirlevél lemondó linkkel lenne a problémám a különböző táblák miatt...
vagy most nem jut eszembe semmilyen jó ötlet....

(#346) Lortech válasza zeix (#345) üzenetére


Lortech
addikt

Azt nem tudod megoldani, hogy a már újonnan feliratkozott mailcímek egy táblába menjenek (miután összeboronáltad egy táblába az egészet)?

Thank you to god for making me an atheist

(#347) zeix válasza Lortech (#346) üzenetére


zeix
senior tag

áááááá!

dehogynem ez a lesz a jó megoldás köszönöm :)

(#348) tkazmer


tkazmer
addikt

szeretnék egy táblából lekért adatokat olyan módon rendezni, hogy egy bizonyos oszlopban lévő 2 féle rekord számát típusonként osszeadom, majd az egyiket a másikból kivonva a kapott számok alapján rendezem sorba az eredményt.
jelenleg a kérés így néz ki:

"select count(tabla1.id), orszag, option_text, tabla2.id, option_id from tabla1, tabla2 where tabla2.id=tabla1.orszag and tipus='+' group by orszag order by count(tabla1.id) desc"

A 'tipus' az, amely 2 féle lehet, és amelyiknek az egyik összesítéséből (a '+' os) ki kellene vonni a másikat ('-'-os)

próbáltam úgy, hogy egy subquery eredményét (select count(tabla1.id) where tipus='-') kivonom, de nem vezetett eredményre.

úgy tervezték, hogy kibirjon egy atomtámadást is. De nekünk komolyabb fegyvereink vannak, mint pl Béla bá, a földmunkagépkezelő

(#349) tkazmer válasza tkazmer (#348) üzenetére


tkazmer
addikt

megvan a megoldás:

sum(if(tipus='+',1,-1))

úgy tervezték, hogy kibirjon egy atomtámadást is. De nekünk komolyabb fegyvereink vannak, mint pl Béla bá, a földmunkagépkezelő

(#350) lordring


lordring
aktív tag

Sziasztok! Van egy konfigurált SQL 2000 serverünk, ami az adatbázist futtaja a SAP-hoz. Az új SAP verzióhoz viszont fel kellene tennem az SQL Server 2005-t. Ez az upgrade mennyire babrás dolog? Sok mindent kell konfigurálni? Mert én nem értek hozzá, csak aki felinstallálta, már nem nem dolgozik nálunk. :O

Útvonal

Fórumok  »  Szoftverfejlesztés  »  SQL kérdések (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.