Hirdetés

2024. május 1., szerda

Gyorskeresés

Útvonal

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

Hozzászólások

(#351) tkazmer


tkazmer
addikt

van egy újabb kérdésem:
meg kellene tudnom, hogy egy bizonyos csoportosítás szerint egy adott feltételnek megfelelő csoport hányadik helyet foglalja el az összes csoport közül, ha azokat értékeik szerint sorrendbe rendezzük.
a terv az volt, hogy lekérem a kérdéses csoportot, kapok egy számot, majd lekérem azon csoportok számát, amelyekben a csoport értéke nagyobb, mint a kérdéses csoporté. Sajnos nem sikerült azonban, az első kérés még ok:

select sum(if(t='+',1,-1)) from tabla where o='$id'

a második kérés, melyet így próbáltam megoldani:

select sum(if(t='+',1,-1)) from tabla where sum(if(t='+',1,-1)) > [az eredménye az előző kérésnek] group by o

mindig "invalid use of group function"-nal tér vissza. Érdekes, hogy akkoris, ha nem írok a végére group by-t.

valakinek van ötlete esetleg?

ú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ő

(#352) [HUN]Zolee


[HUN]Zolee
senior tag

Mi a hiba ebben a lekérdezésben? Ha egy adatbázis kezelőn futtatom le akkor helyesen lefut, ha php-be ágyazom akkor egy üres tömböt ad csak vissza

"SELECT armor.name, armor.armor_type, armor.item_id FROM armor WHERE armor.name ='Blue%' Order By armor.name ASC";

Kapcsolódni kapcsolódik, mert ha kiírok egy teljes nevet, akkor azt megtalálja

$parancs = "SELECT armor.name, armor.armor_type, armor.item_id FROM armor WHERE armor.name ='Blue%' Order By armor.name ASC";
$valasz = @mysql_query($parancs, $kapcsolat);
print "<table>";
while ( $sor = mysql_fetch_array($valasz) ){
print "<tr><td><a href=moblist.php>".$sor['armor.name']."</a></td><td>".$sor['armor.armor_type']."</td></tr>";
}
print "</table>";

''<[HUN]DrH>valaki mondjon egy tuningolos programot a mivel kocsis képeket tudok tuningoloni.'' https://ferromag.aranyoldalak.hu/

(#353) Goose-T válasza [HUN]Zolee (#352) üzenetére


Goose-T
veterán

Talán a WHERE armor.name ='Blue%' helyett WHERE armor.name LIKE 'Blue%' kifejezést kellene használnod (már ha jól értem, mit is szeretnél lekérdezni).

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

(#354) [HUN]Zolee válasza Goose-T (#353) üzenetére


[HUN]Zolee
senior tag

köszi, így működik. Csak azt nem értem akkor a lekérdezőprogiba miért ment :S
Mindegy lényeg működik.

''<[HUN]DrH>valaki mondjon egy tuningolos programot a mivel kocsis képeket tudok tuningoloni.'' https://ferromag.aranyoldalak.hu/

(#355) Goose-T válasza [HUN]Zolee (#354) üzenetére


Goose-T
veterán

Gondolom, a lekérdezőprogi valamivel elnézőbb a szintaktika terén, és úgy gondolta, hogy ha %-ot raktál az idézőjelek közé, akkor LIKE-ra helyettesítheti az egyenlőségjelet.

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

(#356) Realradical


Realradical
őstag

Triviális problémám van, hátha valaki rávágja mi a megoldás és lenooboz. Enterprise managerben ütemeztem egy backupot. Elszúrtam, a mentés helyét. Hogy tudom szerkesztésre visszakapni magát a backupot, mert az istennek nem találok hasonló menüpontot sehol sem.

8.0 verzióról van szó.

Things that try to look like things often do look more like things than things

(#357) domi007


domi007
őstag

Hali!
Nagyon kezdő Mysql-es kérdés, de nem tudok rájönni:
PHP-val szeretnék az adatbázisba adatot vinni. A lényeg: URL-ben megadok 2 paramétert, a PHP meg beleírja őket a megfelelő helyre.
A helyzet: egy darab adatbázis (test), localhoston fut a server, egy tábla (kacsa), a táblában 2 oszlop (CRC_ertek, Megoldas). Az url így nézne ki (csak egy példát írtam):
localhost/ir.php?crc=32121&megoldas=capcarap

Az ir.php:

<?php
$db_host = "localhost";
$db_user = "root";
$db_pwd = "root1";
$db_name = "test";
mysql_connect($db_host, $db_user, $db_pwd);
mysql_select_db($db_name);
$crc=$_GET['crc'];
$megoldas=$_GET['megoldas'];
mysql_query("INSERT INTO kacsa (CRC_ertek,Megoldas)
VALUES($crc,$megoldas);");
?>

A probléma: nem írja bele az adatbázisba a cuccot. Az értékeket rendesen lekapja az url-ből (ellenőriztem, echo-val szépen kiírja őket), de az adatbázisba soha nem kerülnek bele.
Próbálkoztam már úgyis, hogy a 10., mysql_query-s sort beírtam így:
$sql=...
vagy így:
$valami=mysql_query(...

De semmi :(

A baj az, hogy még az sql kódban se vagyok biztos.

Köszönöm előre is!

DOMy

"̶d̶e̶ ̶a̶ ̶t̶u̶d̶o̶m̶á̶n̶y̶ ̶m̶a̶i̶ ̶á̶l̶l̶á̶s̶a̶ ̶s̶z̶e̶r̶i̶n̶t̶ ̶a̶z̶ ̶i̶p̶a̶r̶i̶ ̶m̶é̶r̶e̶t̶e̶k̶b̶e̶n̶ ̶i̶s̶ ̶h̶a̶s̶z̶n̶á̶l̶h̶a̶t̶ó̶ ̶S̶H̶A̶1̶ ̶c̶o̶l̶l̶i̶s̶i̶o̶n̶t̶ ̶g̶e̶n̶e̶r̶á̶l̶ó̶ ̶e̶s̶z̶k̶ö̶z̶..." - 2017. február 23. óta már létezik

(#358) domi007


domi007
őstag

UP!

"̶d̶e̶ ̶a̶ ̶t̶u̶d̶o̶m̶á̶n̶y̶ ̶m̶a̶i̶ ̶á̶l̶l̶á̶s̶a̶ ̶s̶z̶e̶r̶i̶n̶t̶ ̶a̶z̶ ̶i̶p̶a̶r̶i̶ ̶m̶é̶r̶e̶t̶e̶k̶b̶e̶n̶ ̶i̶s̶ ̶h̶a̶s̶z̶n̶á̶l̶h̶a̶t̶ó̶ ̶S̶H̶A̶1̶ ̶c̶o̶l̶l̶i̶s̶i̶o̶n̶t̶ ̶g̶e̶n̶e̶r̶á̶l̶ó̶ ̶e̶s̶z̶k̶ö̶z̶..." - 2017. február 23. óta már létezik

(#359) r0by válasza domi007 (#357) üzenetére


r0by
addikt

Először is, mindig csinálj ellenőrzést, hogy sikeres-e a query.
Valszeg a query-d a hibás, mert a crc (bár ez nem feltétlen) is meg a megoldas mezok is sztringek kellenek, hogy legyenek, mert mindketto tartalmazhat vegyesen szamokat és betuket is, így tehát aposztrof koze kell tenni.
Azonkívül persze az sql tábládnak is igazodnia kell ehez, nyilván int-es mezőre nem megy be a megoldás értéke.
És persze a VALUES kulcsszo után tehetsz szóközt, mert erre is háklis lehet.
Korán reggel talán így nézne ki a kód:

<?php
$db_host = "localhost";
$db_user = "root";
$db_pwd = "root1";
$db_name = "test";
mysql_connect($db_host, $db_user, $db_pwd);
mysql_select_db($db_name);
$crc=$_GET['crc'];
$megoldas=$_GET['megoldas'];
$sql = "INSERT INTO kacsa (CRC_ertek,Megoldas) VALUES ('" . $crc . "','" . $megoldas . "');";
$eredmeny = mysql_query($sql);
if(!$eredmeny){die('Arrgh, talán rossz az sql: ' . $sql);}
else{echo 'Adatrögzítés sikeres';}
?>

Próbáld meg így.

(#360) domi007 válasza r0by (#359) üzenetére


domi007
őstag

Ezer köszönet, kitűnően működik.

Egyébként, ha érdekel, ehhez a rendszerhez járultál hozzá (még nincs kész a honlap), még egyszer köszönöm szépen!

DOMy

"̶d̶e̶ ̶a̶ ̶t̶u̶d̶o̶m̶á̶n̶y̶ ̶m̶a̶i̶ ̶á̶l̶l̶á̶s̶a̶ ̶s̶z̶e̶r̶i̶n̶t̶ ̶a̶z̶ ̶i̶p̶a̶r̶i̶ ̶m̶é̶r̶e̶t̶e̶k̶b̶e̶n̶ ̶i̶s̶ ̶h̶a̶s̶z̶n̶á̶l̶h̶a̶t̶ó̶ ̶S̶H̶A̶1̶ ̶c̶o̶l̶l̶i̶s̶i̶o̶n̶t̶ ̶g̶e̶n̶e̶r̶á̶l̶ó̶ ̶e̶s̶z̶k̶ö̶z̶..." - 2017. február 23. óta már létezik

(#361) Realradical válasza Realradical (#356) üzenetére


Realradical
őstag

Ilyenkor mindig filózok hogy orbitális marhaságot kérdezek, vagy csak nem tudják a többiek sem. Up!

Things that try to look like things often do look more like things than things

(#362) lordring


lordring
aktív tag

Helló! SQL Server 2005 Express-nél hoogyan tudom megadni, hogy hol legyen az adatbázisok
helye fizikailag? :U

(#363) tildy


tildy
nagyúr

mysql-ben hogy lehet legegyszerűbben, lekérdezés nélkül egy adott mező értékét eggyel növelni?
A például letöltések számának eggyel való növelése .

"Tartsd magad távol azoktól, akik le akarják törni az ambíciódat! A "kis" emberek mindig ezt teszik, de a nagyok éreztetik veled, hogy te is naggyá válhatsz" - Mark Twain

(#364) VladimirR válasza tildy (#363) üzenetére


VladimirR
nagyúr

update tabla set mezo=mezo+1

(#365) Lortech válasza tildy (#363) üzenetére


Lortech
addikt

Update előtt nem kell külön lekérdezés, mivel az update-ben hivatkozhatsz az attribútumra, amiből az új értéket származtatod.
Pl.
update tabla set egymezo = egymezo +1;

szerk
pf már..

[ Szerkesztve ]

Thank you to god for making me an atheist

(#366) tildy válasza VladimirR (#364) üzenetére


tildy
nagyúr

:R:RKöszi mindkettőtöknek :R

"Tartsd magad távol azoktól, akik le akarják törni az ambíciódat! A "kis" emberek mindig ezt teszik, de a nagyok éreztetik veled, hogy te is naggyá válhatsz" - Mark Twain

(#367) lezso6


lezso6
HÁZIGAZDA
LOGOUT blog

Szejasztok! :)
Az lenne a problémám, hogy egy mysql táblából olvasok ki php-vel sorokat, de valamiért a kiolvasott mezők típusai sztringek lesznek, de én azt szeretném ha pl valami mysql-ban integer típusú, akkor tegye php-ben is integer típusúvá, ne sztring legyen. :(((
Van annál egyszerűbb megoldás, hogy kiolvasom minden egyes mező típusát mysql-ban és azok alapján egyenként állítom be a változók típusait php-ben? :F

mod: egyébként a tábla a sessionöket kezeli, van benne jópár bool, int mező is (amik php-ben sztringgé konvertálódnak :((( ), és a tábla a memóriában van, de ha visszateszem a merevlemezre akkor se müxik. :(

[ Szerkesztve ]

A RIOS rendkívül felhasználóbarát, csak megválogatja a barátait.

(#368) lezso6 válasza lezso6 (#367) üzenetére


lezso6
HÁZIGAZDA
LOGOUT blog

Megoldottm a problémát, telejsen más volt a hiba működik mindenem. Egy rohadt pontosvessző miatt az unserialize() csak sztringeket konvertált, és emiatt nem ment semmi más se. :W

[ Szerkesztve ]

A RIOS rendkívül felhasználóbarát, csak megválogatja a barátait.

(#369) Genius007


Genius007
őstag

Üdv. mindenkinek!

Nem tudom, hogy jó helyre írok-e, de lenne egy elég fontos kérdésem!
Csináltam egy weboldalt webSPELL segítségével.
Minden szép és jó, de néha valami miatt törlődik pár komment, és egy-két hírek!
Van esetleg valami olyan megoldás, hogy mindennap X időbe lementi az adatbázist a gépre, vagy akár FTP-re? :B

:R

https://hardverapro.hu/apro/razer_blade_16_2023_i9_13950hx_rtx_4090_16gb_32gb/hsz_1-200.html

(#370) Luos


Luos
tag

Sziasztok, az lenne a kérdésem hogy hogy lehet megoldani azt hogy a datetime tipusu mezőben keressek?
Csináltam egy számlálót, s most abból szeretnék valami statisztika szerűt kihozni:

id date client ip
1 | 2008-03-21 15:14:28 | Mozilla/5.0 (Windows; U; Windows NT 5.1; hu; rv:1.... |127.0.0.1

Azt szeretném megoldani hogy naponként kiirja hány látogató volt, ezt egy nagyon ronda megoldással értem el:
SELECT count(*) FROM latogatok WHERE date LIKE "%2008-07-15%"
De igy minden egyes napon végig kéne menni, szal ez eléggé hanyagolható.
Próbáltam az accesses WHERE date = year(2008) ... megoldással is de az nem müködött.
Googleztam is egy csomót, de nem találtam semmi használhatót / átsiklottam fölötte :)
Ha valaki tudja a megoldást kérem segitsen, köszi szépen :)
(az oldal az extran van, mysql-el)

[ Szerkesztve ]

(#371) shev7 válasza Luos (#370) üzenetére


shev7
veterán

altalaban minden sql implemetacionak van datum kezelo fuggvenye. Szova attol fugg milyen sql-t hasznalsz.

Hops, latom mysql-t hasznalsz, akkor itt keresgelj [link]

[ Szerkesztve ]

''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''

(#372) Luos válasza shev7 (#371) üzenetére


Luos
tag

Köszi, meglett, tulajdonképpen kb igy:
SELECT count(*), date FROM latogatok GROUP BY DATE(date)

DATE helyére lehet DATETIME-ot is irni és akkor év-hó-nap-óra-perc-másodperc szerint groupol, igy csak év -honap-nap szerint. (lehet meg egy csomo mast is irni, year, day, month)

En meg a WHERE-el probalkoztam..

Köszike:)

(#373) n-tek


n-tek
aktív tag

Hello
pervasive sql 9 van feltelpitve a pcre. vista indit, hibaüzenet elöjön.
W3DBSMGR (5.22.1.18) Error 8520 - A timeout occurred during the initialization of SRDE engine.
mit tegyek? pls help

Escape is Just the Begining

(#374) modder válasza n-tek (#373) üzenetére


modder
aktív tag

(#375) it_tanacsado


it_tanacsado
csendes tag

:K
Partnerünk *****

Van erre külön gyűjtőtéma, légy szíves azt használd, ne egy szakmai topicot offoljál az álláshirdetéseddel.

[ Módosította: Racecam ]

Ha szeretné megpályázni a pozíciót, kérem, küldje el magyar és angol nyelvű önéletrajzát a csarno.nelli@grafton.hu e-mail címre.

(#376) oroltbors


oroltbors
csendes tag

Sziasztok! Adatbazist fejlesztek MySQL-ben xamppal, es ket dolgot nem sikerul sehogy megoldanom, pedig mindkettot konkretan tanultuk oran.
Az egyik, hogy a foreign key referencia legyen. Hiaba irom be a create table-be az oran tanult szintaxist (amit konyvben is megtalaltam), nem torli az elemet, ha toroltem, amire hivatkozik.
A masik pedig, hogy lekerdezesek elemein halmazmuveletet vegezzek.

$sqlsearch = "(SELECT ...) INTERSECT (SELECT...)"

Iyen lekerdezest hajtok vegre, de hibat dob ki a kovetkezo sorban:

if (mysql_num_rows($querysearch)>0) {

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\...\search.php on line 246

Ja es $querysearch = mysql_query($sqlsearch);.

[ Szerkesztve ]

"aki már megfordult bármelyik magasabb dimenzióban, az tudja, hogy azokat egy nagy szemét pogány bagázs lakja, akiket egyszerűen ki kéne nyírni és kásává aprítani, és ez megvalósítható lenne, ha valaki kitalálná, hogy lehetne a valóságra merőlegesen rakétákat kilőni." (Douglas Adams)

(#377) ArchElf válasza oroltbors (#376) üzenetére


ArchElf
addikt

Gondolom órán nem MySQL-t hanem Oracle-t, vagy MSSQL-t tanultatok...

AE

Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]

(#378) ArchElf válasza oroltbors (#376) üzenetére


ArchElf
addikt

MySql-ben nem látok INTERSECT-et. Mit szeretnél amúgy csinálni?
:mod:
Amit amúgy szerintem keresel az az UNION
:mod2:
Most látom, hogy az INTERSECT meg az UNION különbségét...
Sajna nincs a MySql-ben INTERSECT. Próbáld meg áttervezni a lekérdezést JOIN-ra.

AE

[ Szerkesztve ]

Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]

(#379) ArchElf válasza oroltbors (#376) üzenetére


ArchElf
addikt

Csekk ezt...
Hátha működik.

AE

Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]

(#380) L3zl13 válasza oroltbors (#376) üzenetére


L3zl13
nagyúr

Ha minden igaz az Intersect kapcsolat azokat a sorokat adná vissza, amelyek mindkét lekérdezésben benne vannak. Ezt szvsz egy egymásba ágyazott selecttel lehet helyettesíteni.

select ... from (select ... from ... where ...) as x where ...

Vagy pedig joinná átalakítani.

Szerk: Ja látom ArchElf linkjén is ilyesmit írnak.

[ Szerkesztve ]

Aki hülye, haljon meg!

(#381) oroltbors válasza ArchElf (#378) üzenetére


oroltbors
csendes tag

Epp kereseshez irok lekerdezest, az adatbazisban pedig van tobb-tobbes kapcsolat, amit hidtablaban tarolok. Egy checklistben kivalasztom a kapcsolatokat, amire keresni akarok. Az igy kivalasztott kapcsolattal rendelkezo elemek metszetet ill. egy viszonylag egyszeru lekerdezes eredmenyenek metszetet szeretnem listazni.

Az unionos megoldas is jonak tunik, csak mar egy ilyen egyszeru lekerdezesre is hibauzenetet kapok a a mysql_num_rows sorabol, amit egyebkent nem ad hibatlan lekerdezesnel:

SELECT * FROM ((SELECT * FROM component WHERE typeID = 2) UNION (SELECT * FROM component WHERE typeID = 1))

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\...\search.php on line 199

[ Szerkesztve ]

"aki már megfordult bármelyik magasabb dimenzióban, az tudja, hogy azokat egy nagy szemét pogány bagázs lakja, akiket egyszerűen ki kéne nyírni és kásává aprítani, és ez megvalósítható lenne, ha valaki kitalálná, hogy lehetne a valóságra merőlegesen rakétákat kilőni." (Douglas Adams)

(#382) L3zl13 válasza oroltbors (#381) üzenetére


L3zl13
nagyúr

Első körben az unionnak itt semmi értelme itt szerintem.
Egy SELECT * FROM component WHERE typeID = 1 or typeID=2 sokkal jobb megoldás szerintem.

Másrészt meg a fenti példámban írtam a helyes szintaxist. Az al lekérdezésnek kell adni egy aliast, hogy táblaként kezelje.
Tehát helyesen így lenne:
SELECT * FROM (SELECT * FROM component WHERE typeID = 2 or typeID=1) as temp

Unionnál meg egyszerűen írd a végére a te verziódnak, hogy 'as akármi'

Ja, és javasolnám, hogy szerezz be egy SQL klienst. Például egy phpMyAdmint vagy egy sqlyogot. Akkor nem csak a num_rows-nál derülne ki állandóan, hogy hibás volt a lekérdezés, és értelmes SQL hibaüzenetet kapnál vissza ami sokkal beszédesebb volna.
Vagy irass ki egy mysql_error()-t a query után.

[ Szerkesztve ]

Aki hülye, haljon meg!

(#383) gyurman


gyurman
tag

Szervusztok!

Mi az az sql ami egyszerű és nagyon sokrétű, de egyszerű űrlap generátora van?

(#384) shev7 válasza gyurman (#383) üzenetére


shev7
veterán

most lehet, hogy rosszul gondolom, de az sql-lel ezt nem nagyon fogod megcsinalni. Marmint az urlapgeneralast. Kell egy programozasi nyelv amivel ezt megcsinalod, illetve azzal tudsz ala sql adatbazist tenni.

''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''

(#385) ArchElf válasza gyurman (#383) üzenetére


ArchElf
addikt

Kicsit kevered a dolgokat. Keress rá a neten wyswyg html editorra, és ilyenekben általában van sql generátor is. Egyáltalán mit szeretnél csinálni és mid van hozzá?

AE

Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]

(#386) gyurman válasza ArchElf (#385) üzenetére


gyurman
tag

Igazából semmim nincs. Vagy egy adatbázis a fejemben. Abba viszek meglévő adatokat txtből. Open Office-ban kezdtem, de azzal az a baj, telepíteni kell, és csak úgy kezelhető az adatbázis. A célom olyan felületbe bevinni, ami hasonlóan könnyen kezelhető, de a célgépre nem kell telepíteni. Azért lenne jó a net, mert úgy akár mobilról is elérem.
Olyasmi kellene, mint a CMS weboldalkészítéshez. Azzal a weboldalakat, sem egy txt megnyitással kezdik. Valami hasonló adatbáziskészítőt akarok, hogy ne kelljen nulláról txt írni. Azt a felvágást meghagyom a programozóknak.

[ Szerkesztve ]

(#387) ArchElf válasza gyurman (#386) üzenetére


ArchElf
addikt

Akkor neked a PHPMyAdmin kell. Apache+php+mysql kell azon a gépen (vagy azokon a gépeken) ahova az adatbázist tenni akarod.
Viszont ha ezt csinálod nézd meg jól a konfigurációt, ha netről is elérhetővé akarod tenni. Ha nincs megpatchelve és a default user:password nincs cserélve, akkor 10-20 perc múlva már spam/phishing/ddos zombi lesz a géped.

AE

[ Szerkesztve ]

Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]

(#388) gyurman válasza ArchElf (#387) üzenetére


gyurman
tag

Azzal csak a struktúrát tudom módosítani, nem? Arra tényleg jó, de űrlap varázslója nincs. Valami Access utánzat kellene. Jó persze MS-t legyőzni nem lehet, de csak van utánzat, nem? Pesze web alapon. Mint a PHPMyAdmin csak űrlapgenerátorral. Programozzatok már egyet! :U
Egyáltalán hogy googlezzak?

(#389) ArchElf válasza gyurman (#388) üzenetére


ArchElf
addikt

Nem, a PhpMyAdminnal lehet adatot feltöltetni akár kézzel, akár szkriptelten. Sőt még exportálni is lehet, csv-ben adatot, vagy sql-ben is adatot és struktúrát is.

AE

Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]

(#390) lordring


lordring
aktív tag

Sziasztok! Az lenne a kérdésem, hogy a korábban installált SQL szervereket hogyan lehet eltüntetni az SQL Server Manager-ből? Eredetileg 2 db SQL2000-s szerver volt a gépen, de aztán az SQL 2000-t leszedtem és töröltem az adatbázisokat is. Most egy SQL Server 2005 van fent, egy server van telepítve, de az SQL Manager csak azért is hozza a korábbi 200-s szervereket. :F

(#391) ZCoyote


ZCoyote
őstag

Sziasztok!
Előre is elnézést a nem pont idevágó téma miatt de nem találtam jobb helyet neki.
A cégem el akar küldeni Oracle tanfolyamra de nekem kellene kiválasztani hogy hol és milyen legyen.
Én szeretnék egy olyanra elmenni ahol minél átfogóbban tanítják az sql nyelvet hogy a későbbiekben a hasznomra legyen.
Kinéztem két tanfolyamot az egyik hivatalos Oracle tanfolyam, 5 napos, 400k + áfá-ért, a másik 72 órás (gondolom az 9 nap) de nem hivatalos viszont 200k.
Gondolom jobb a hivatalos de ha valamilyen Oracle minősítést akarok szerezni akkor az első minősítéshez nem kell hivatalos Oracle vizsgát tenni elég egy sima is.
A két tanfolyam: nem hivatalos, hivatalos tanfolyam.

Ti melyiket ajánlanátok?
Előre is köszönöm!

Romani ite domum.

(#392) ZCoyote


ZCoyote
őstag

Elírtam, tehát az első Oracle minősítéshez nem kell hivatalos Oracle tanfolyamot elvégezni.

[ Szerkesztve ]

Romani ite domum.

(#393) ArchElf válasza ZCoyote (#392) üzenetére


ArchElf
addikt

Tudna valaki nekem linkelni egy kb 5-10 oldalas doksit linkelni általános SQL alapokról?
Nem a relációs adatbázisok története érdekel: parancsok, alap formulák, join, grupping, aggregáció, stb... Lehetőleg tömören, azért némi magyarázattal.
Gyorstalpalóra kellene :)

AE

Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]

(#394) sirius_01


sirius_01
csendes tag

Sziasztok !
Nemrég óta vagyok regisztrált, és kérdezni se szoktam, ott a google :)
Az sql-ben eddig mindent meg tudtam oldani. Tehát a táblák összerakásával tisztában vagyok, hogy célszerű.

De most megakadtam, remélem tudtok segíteni.
A lényeg a kövektező:
van két sql táblám, lényegtelen, hogy miben.
Az első tábla lehet nem szükséges, de ebben tárolom az adatokat,
a második meg ezt fogja össze egy másik logikai szinten.

Az egyik tábla a következőképpen néz ki lényegileg:
2 oszlop, egyikben adat (az adat is mindíg különbözik) másikban egy számláló

a másikban meg ugyancsak két oszlop
az első oszlop, egy a sorra jellemző azonosító, mely ismétlődhet (sőt, a lényege az ismétlődés)
a második oszlop meg az első tábla számlálójának az idegen kulcsa.

pl.:

1. tábla
sorszám - adat
1 - a
2 - b
3 - c
4 - d

2. tábla:
azonosító (nem egyedi) - idegen kulcs (1.tábla sorszámára)
10 - 1
10 - 2
10 - 3
11 - 2
11 - 3
12 - 1
12 - 2
12 - 4
13 - 1
13 - 3

Ezek után a problémám ott kezdődik, hogy szeretnék egy szűrést arra, hogy melyek azok az azonosítók 2. táblából melyek tartalmaznak bizonyos számokat az idegen kulcs oszlopban. (Ha ez megvan, akkor azonnal össze tudom kötni az első táblában lévő adatokkal)
Tehát pl.: mely azonosítók azok, amik tartalmazzák, a 2. táblából az 1-es és a 2-es idegen kulcsot. (többet tartalmazhat, csak kevesebbet nem)
Erre ugye a jó válasz, az hogy kilistázza a 10-es azonosító mind3 sorát, hisz tartalmazza az 1-est, és a 2-est is, és még többet is, és kilistázza a 12-es azonosító mind2 sorát.

azaz ezt kéne kapnom:
10 --- 1
10 --- 2
10 --- 3
12 --- 1
12 --- 2

De itt úgy látszik megállt a tudásom.

A válaszokat előre is köszönöm

üdv.: Zsolti

[ Szerkesztve ]

[ Szerkesztve ]

(#395) Lortech válasza sirius_01 (#394) üzenetére


Lortech
addikt

select * from masodik where azon in (select d.a from (select count(*) c, azon a from masodik where ik in (1,2) group by azon) d where d.c >= 2)
?
Viszont a 12 -höz három sor tartozik, nem kettő, vagy valami nem tiszta. Kéne lennie jobbnak, de most nem jut eszembe. Mindenesetre általánosan elmondhatom eddigi tapasztalataim alapján, hogyha ilyen csúnya lekérdezést kell írni, akkor általában a séma nem megfelelő.

Thank you to god for making me an atheist

(#396) sirius_01 válasza Lortech (#395) üzenetére


sirius_01
csendes tag

Köszi a gyors választ, de sajnos ez az egyszerű lekérő sor sajnos nem elég
tehát nem feltétlen kell az 1-es és 2-es. lehet, hogy van amikor pont 1-es és 4-es kell, ugyanilyen módon.

Szóval azért tartozik hozzá 3 sor, mert azokhoz tartozó azonosítók összes sorára szükségem van szükségem, melynek sorában megtalálhatóak legalább a kiválasztott számok.
Tehát a 10-es azonosító mellett van ugye az 1-es, 2-es, és a 3-mas.
Ha lehívom mely azonosítókhoz tartozik legalább az 1-es, és 2-es, akkor meg kell kapnom a 10-es azonosító mind3 sorát, mert hozzá tartozik az 1-es, és 2-es, sőt más sorok is.

illetve a 12-es azonosító mellett van az 1-es, 2-es és 4-es
tehát ott meg kell kapnom ugyancsak mind3 sorát.

Tudom SQL-től szokatlan az ilyen lehívás, de azért SQL, hogy gyors legyen.

(#397) Lortech válasza sirius_01 (#396) üzenetére


Lortech
addikt

Pont azt adja vissza a lekérdezés, amit leírtál most, tehát:
10 --- 1
10 --- 2
10 --- 3
12 --- 1
12 --- 2
12 --- 4

A lekérdezést pedig nyilván paraméterezned kell mindig az igényednek megfelelően, tehát ha 1,4 kell, akkor (1,4).
szerk: Illetve a (>=)2 helyett megadott halmaz elemszámát kell megadni.

[ Szerkesztve ]

Thank you to god for making me an atheist

(#398) sirius_01 válasza Lortech (#397) üzenetére


sirius_01
csendes tag

Igen a 12 - 4-est lefelejtettem. :U
Igen, igazad van, ez lekérdezés tényleg azt adja, pontosan :R
Köszi :)

Már csak egy kérdés, ez a belső lekérés mennyire lassítja hosszútávon,
nagy adatbázisnál a lekérést ?

[ Szerkesztve ]

(#399) Lortech válasza sirius_01 (#398) üzenetére


Lortech
addikt

Erre nehéz lenne válaszolni, mert nem tudom neked mennyi a nagyon vagy a kicsit, illetve milyen erős gépen fog futni, és mekkora az az adatbázis. Ezres / százezres nagyságrendig nem vészes (ex-has mondom), milliósnál már érdemes lenne jobban megvizsgálni a kérdést. De leginkább teszteld le és nézd meg, hogy mennyi idő alatt futott le a query.

Thank you to god for making me an atheist

(#400) Realradical


Realradical
őstag

Üdv!

Kérdésem lenne. Hogy tudom azt megoldani, hogy linked szerveren keresztül csináljak a távoli szerveren egy joint?
Jelenleg ott a gondom, hogy állandóan a maximum 3 prefixes hibát dobálja a rendszer mivel ez a 4 már sok a querybe:

servernev.adatbazis.dbo.tablanev.mezo

The number name ************ contains more than the maximum number of prefixes. The maximum is 3.

Things that try to look like things often do look more like things than things

Útvonal

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