- Fejhallgató erősítő és DAC topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- VR topik (Oculus Rift, stb.)
- Azonnali informatikai kérdések órája
- Házimozi belépő szinten
- Soundbar, soundplate, hangprojektor
- HiFi műszaki szemmel - sztereó hangrendszerek
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Milyen egeret válasszak?
- OLED TV topic
Új hozzászólás Aktív témák
-
aton-hawk
tag
válasz
paramparya #197 üzenetére
Nah...nagyjából halad a dolog...mostmár úgytűnik működik is. De lenne még1 kérdésem. Jelenleg accessben tesztelem a lekérdezést, működik is tök jól. Jelenleg így néz ki:
SELECT dátum AS [Lekért dátum], mikor AS [Módosítás dátuma], t_név, régi_ár, akt_ár
FROM Termék, Árvált
WHERE Termék.kód=Árvált.kód AND dátum=Árvált.mikor
ORDER BY mikor;
mivel a dátum mező nem szerepel semelyik táblában, ezért automatikusan megkérdezi az access a dátumot. Szóval ez így jó is meg minden...de a kérdés, hogy sql server alatt is így csinálja-e, tehát hogy bekéri a dátum mezőt. Ebben megtudna vki erősíteni? -
Tyrael
senior tag
válasz
aton-hawk #190 üzenetére
szedjuk reszekre a feladatot.
elso lepesben kellene nekunk az az ar, ami az adott idoben volt aktualis:
SELECT regi_ar FROM arvalt WHERE kód='általunk megadott kód' AND mikor>'2005.05.04' ORDER BY mikor DESC LIMIT 1
Ez a lekerdezes azt csinalja, hogy lekerdezi az altalunk megadott kodhoz tartozo arakat, amelyek regebbiek, mint az altalunk megadott idopont, es ezek kozul az utolsot (vagyis a kerdeses idopontban aktualisat) adja vissza.
ezt belerakjuk a masik lekerdezesbe, ami az osszes termeket listazza, es elmeletileg kesz.
tesztelni nem tudom, mert most huztam ujra a gepem, es meg nincs fent semmim.
Tyrael -
cucka
addikt
természetesen elrontottam
szóval a lenti az elvileg arra jó, hogy egy adott termék adott dátumhoz kapcsolódó régi árát kiírja. ehhez a where részbe bele kell tenni egy szűrést a termek.id-ra, mondjuk termek.id=5
az összes ilyet kilistázni elég necces, legalábbis nem igazán van ötletem, mi lehetne a helyes megoldás. ha az árváltozások helyett azt tárolnád, hogy egy adott ár milyen dátumok között volt érvényes, akkor viszont a lentihez hasonlóan meg lehetne oldani. -
cucka
addikt
válasz
aton-hawk #190 üzenetére
nem igazán egyértelműek a tábláid jelölései, de leírom, én hogyan csinálnám, aztán hátha ki tudsz belőle bogarászni valami hasznosat:
ezek a táblák vannak: termek(id, nev, akt_ar) és arvalt(id, termek_id, datum, ar). az id mindenhol elsődleges kulcs, a termek_id pedig külső kulcs, ami a termek táblára mutat. ekkor:
select termek.nev, termek.akt_ar, arvalt.ar from termek left join arvalt on (termek.id=arvalt.termek_id) where arvalt.datum<'2006-05-04' order by arvalt.datum desc limit 1;
ezt kipróbálás nélkül írtam, szóval jó eséllyel lesz benne hiba, de talán segít valamit -
aton-hawk
tag
válasz
paramparya #191 üzenetére
az árlistában benne kéne lenni e a régi árnak, és az aktuálisnak. a mikor változott az nem kell. Igen, az lenne a kulcs.
-
aton-hawk
tag
Sziasztok!
Egy sql-es feladatban kérném a segítségeteket. Szóval...van több tábla, de ebből ami nekünk fontos az ez: termék {kód, t_név, akt_ár}, Árvált {kód, mikor, régi_ár}.
A kérdésem pedig, hogy hogyan tudok adott dátumhoz árlistát csinálni. Tehát bekér egy dátumot ( mondjuk a 2006.05.04-et, amit a usernek kell megadni), majd az adott dátumhoz árlistát listázni.
Remélem tud ebben nekem vki segíteni.
Előre is köszi. -
SzaLaca
csendes tag
Sziasztok,
Szeretnék segítséget kérni! Nagyon kezdő kontár vagyok!
Kreáltam egy Access adatbázist, amit html-en keresztül szeretnék feltölteni. Egyes összetartozó rekordokat pedig szeretnék grafikonon megjeleníteni.
Pillanatnyilag az adatfeltöltés működik, de ha a grafikonokat megpróbálom frissíteni, lefagy az egész!
Mi okozhatja a problémát?
Előre is köszi!
Laci -
Larry303
addikt
Hello,
Sajna adatbázis ismeretem édeskevés ezért fordulnék hozzátok:
szal informatikus vagyok egy szhelyi cégnél és a vállaltirányítás sql serverről fut..nahmost én csak a hálózatért ill hardverekért vagyok a felelős a softver fejlesztését/menedzselését egy pesti cég végzi akivel úgymond ''harcban'' állok...
Szal az a helyzet, hogy az adatbázis már lassan 9 gigát nyom és nagyon lassú a softver....Ők pedig próbálják rámfogni, hogy a serverrel van a baj.......
Van vmi módszer amivel pontosan ki lehet deríteni, hogy mi okozza a belasullást?
Tom, hogy így elég kevés az info de, ha vki hajlandó lenne segíteni persz többet is elárulokelőre is köszi
-
cucka
addikt
Az SQL szerver törölve lett és a számlázó nem indul.
minden bizonnyal hiányzik neki az adatbázis, amin dolgozik.
Ha föltelepítik az SQL-t akkor azt állítják a forgalmazónál, hogy üres adatbázissal fog működni.
igen, mert az sql szerverben nincsenek benne gyárilag a cég számlázási adatai, mint ahogy a word újratelepítésével sem fogod visszakapni a régebben letörölt dokumentumokat.
magyarul szívás.. -
xcbiker
addikt
Üdv!
Segítség kellene!
Adott egy Kulcs-Soft-os számlázó program ami SQL szervert használ és egy XP.
Az SQL szerver törölve lett és a számlázó nem indul.
Ha föltelepítik az SQL-t akkor azt állítják a forgalmazónál, hogy üres adatbázissal fog működni.
Hogyan lehetne ezt visszaállítani?
Köszi előre is! -
Blackmate
őstag
Adott egy tábla, amelynek van egy irányítószám mezője.
Törlés feltételeként egy olyat akarok megadni, hogy a hibásan felvitt irányítószámokat törölje. Konkrétan, ami 3 számjegyből áll.
Kérdés: Hogy néz ki a feltétel?
DELTE FROM tnev WHERE .... -
VladimirR
nagyúr
válasz
[HUN]Zolee #180 üzenetére
a mysqldump nem parancs, hanem egy kulon binaris, ami egy ideje reszet kepzi a mysql-nek (vagyis telepiteskor ez is felmegy vele)
szoval ne a mysql parancssorba ird, hanem siman a parancssorba
a masik, importalasra szolgalo parancsot, szinten az os parancssoraba kell irni -
[HUN]Zolee
őstag
válasz
VladimirR #179 üzenetére
ERROR 1064: You have an error in your SQL syntax near 'mysqldump cd > cd.sql' at line 1
ezt kapom vissza ha sql parancssorba futtatom a ''mysqldump db_name > db_name.sql'' -t
most látom hogy a mysql cc jobb alsó sarkába read-only van kiírva, ez miért van így ? mindent defaulton van.Gondodlom ez a baja az alap exportálásnak.
-
VladimirR
nagyúr
válasz
[HUN]Zolee #178 üzenetére
mysqldump db_name > db_name.sql
majd
mysql db_name < db_name.sql -
[HUN]Zolee
őstag
mysql controk center-be létrehoztam egy töbtáblás adatbázist, és ezt ki szeretném exportálni, és netre feltölteni szintén mysql serverre, de a export gomb inaktív. sőt még az inport is az. már leszedtem a legújabb verziót és azzal se jó. valakinek valami ötlet?
még nagyon kezdő vagyok ezen a téren, minden segítség jóljön -
cucka
addikt
válasz
Blackmate #173 üzenetére
pontosan mit is keresel?
ha oracle alá írt sql és pl/sql scripteket akarsz írni, akkor szükséged lesz egy oracle szerverre (ez lehet távoli gép) és egy oracle kliensre a saját gépeden. oracle kliens nélkül nem tudsz csatlakozni a szerverhez.
ezen túl lehet mindenféle kulturált adatbázis-kezelő programot feltelepíteni, pl. TOAD, TORA, PL/SQL Developer, ízlés szerint. -
Blackmate
őstag
Tudna valaki olyan DB kezelőt mondani, ami kis helyet foglal, és nem lassítja be nagyon a gépet? Egyszerű SQL, PL/SQL scripteket szeretnék csak futtatni. Az Oracle Database 10g helyett keresek valamit.
-
Blackmate
őstag
2szer ment el.
[Szerkesztve] -
Beck18
tag
Egy ürlapban szereplő értékeket szertném insertálni két táblába. Az megy, hogy egy táblába mentsek értékeket, de hogyan lehet egy insert művelettel két táblába menteni ?
köszi. -
warmaster
aktív tag
válasz
Jester01 #170 üzenetére
Ex így ok is lenne, egy olyan problémám van ezzel, hogy ha kiválasztom a wizard-nál a ''Use query to specify data'' opciót, és beírom az alábbi statementet:
exec munkatars_foglalkoztatottsag_iv @p_date_start='2006.08.01', @p_date_end='2006.09.01'
akkor hibát dob mondva, hogy
''Invalid object name '#tomb' ezt a tárolt eljárás hozza létrea legelején. Ha ugyanezt lefuttatom query analyzerben, akkor simán lefut, és ki is dobja az eredményt. -
warmaster
aktív tag
UP.
-
warmaster
aktív tag
Sziasztok!
Adott lenne egy feladat:
MSSQL2K szerver adatbázisából minden hétfőn ki kellene válogatni adatokat egy text fájlba. Sajnos olyan bonyolult az adatok köre, hogy egy jó nagy tárolt eljárás válogatja össze.
Én arra gondoltam, hogy készítek egy DTP Packaget, ami elindítja a tárolt eljárást, és az adatokatbemásolja a txt fájlba.
A GOND:
Nem találom a DTS szerkesztőben, hogy hol lehet beállítani egy tárolt eljárást.
Persze ha valaki mond erre egy egyszerűbb megoldást is, nekem az is jó.
Előre is köszi. -
manrick
tag
Sziasztok.
Ha én több ezres nagyságrendű adatok között szeretném megvizsgálni, hogy létezik e már egy adott táblában az adott érték, és ha nincs benne, akkor beletenné, ez szerintetek mennyire lassítja a folyamatot?
Konkrétan írtam egy levelezőprogramot, és a bejövő levelek ID-jét szeretném tárolni adatbázisban. Mivel hálózatos lesz a dolog, több gépen fog futni a kliens, így minden kliensen ahogy megjelenik a levél, lementené adatbázisba az ID-t. Ezért szeretném előtte levizsgálni, hogy benne van e már az adatbázisban.
De ha ettől belassulna a rendszer, mást kell kitalálnom.
Remélem sikerült érthetően fogalmaznom.
Mi a véleményetek?
Manrick -
Benmartin
senior tag
válasz
Felhasznalo9 #163 üzenetére
nincs szükség rá de van függvény a php-ban arra a fájlbaírásnál akkor ha egyszerre többen írnak bele ne barmolja szét csak szépen közölje veled hogy bocs most nem megy.
-
Benmartin
senior tag
válasz
Felhasznalo9 #161 üzenetére
persze igen egyszerre is tud bele írni jó példa erre a fórum ez alatt is sql megy és lehet xxx fórumozó pont akkor küldi az üzenetét mint én ellenben a fájlos megoldással ott nem lehet egyszerre bele írni. közben olvasni is lehet belőle.
-
Felhasznalo9
tag
válasz
Benmartin #160 üzenetére
Es van vmi feldolgozasi sorrend? Ami miatt a fajl nem eppen a legjobb megoldas? Pl. egyszerre 10 felhasznalo adatait kell mentegetni. Akkor meg nem ment vmit az adatbazisba le, addig masika adatot varolistara teszi? Pl. Erkezik 10 felhasznalo 1xre s akkor akarmilyen ok folytan az egyikkel elkezdi, kiirja adatokat mezokbe, a tobbi var es aztan a kovetkezo es igy tovabb?! Tehat assiznkron, ogndolom akkor. Es kozbe olvasni is lehet belole?
-
Benmartin
senior tag
válasz
Felhasznalo9 #159 üzenetére
nagyobb tartalom esetén sokkal gyorsabb és persze rendszerezhetőbb könyebben kezelhető(pl.: lekérdezések).
-
Felhasznalo9
tag
Hellosztok, az lenne a kerdesem, hogy meirt jobb adatbazisba jegyezni barmit - oldalletoltes, ip-cim, bongeszo stb. - mint fajlba?
-
Mr. Saint
csendes tag
sziasztok lenne ey kérdésem:
van egy szerver mielött bárki megkérdezné SQL 2005
van rajta 2 adatbázis, az egyik adatbázisból szeretnék áttölteni a másik adatbázisba egy új táblára select into-val, ennek van egy lehetősége, hogy az in el meg leghet adni, hogy melyik adatbázisba mennyen, de állandóan hibát dob rá, így csak a saját adatbázisába tudom létrehozni a táblát ainek így néz ki a lekérdezése:
select
t1a.azonosító,
t1a.név,
t1a.lakcím_irsz,
t1a.lakcím_helység,
t1a.lakcím_uhea,
t1a.szlacím_név,
t1a.szlacím_irsz,
t1a.szlacím_helység,
t1a.szlacím_uhea,
t3.telepítés_idöpontja,
t4.szerzodes_megszunt_idopont,
t9.befizetett_eloleg,
t9.havi_díj_fizetési_mód
into SzerzWorth
from t0, t1a, t3, t4, t9
where t0.t1a_id = t1a.idn and t0.t4_id = t4.idn
and t0.t9_id = t9.idn and t0.t3_id = t3.idn
Ha viszont betesze az in-t is az into táblanév után, akkor állandóan hibát dob, és semilyen módon nem tudtam megfejteni, hogy hogyan illeszem be az in-t a az into táblanév után.
Tud ötletet adni valaki? Vagy csinált, már hasonlót -
sequator
senior tag
sajnos az ötleted nem járható, mivel nem az adatbázisban lévő adatokkal kell dolgoznom, hanem egy külső forrásból nyert adattáblával, amit be kellene rakni az adatbázis megfelelő tábláiba, de ez a nem megy az adatbázis felépítése miatt. ráadásul bonyolítja a dolgot, hogy a kurzuskód felépítésének meg kell felelnie néhány ergonómiai szabálynak is.
ugyanis azt nem tartott volna semeddig megcsinálni, hogy minden kurzuskódhoz hozzáfűzök egy egyedi számot mondjuk 1től számozva, de ezzel pl ilyen kurzusokat kaptam volna:
BEVMAT/129
BEVMAT/130
BEVMAT/131
BEVPROG/132
BEVPROG/133
BEVPROG/134
BEVPROG/135
ilyen helyett:
BEVMAT/1
BEVMAT/2
BEVMAT/3
BEVPROG/1
BEVPROG/2
BEVPROG/3
BEVPROG/4
Egyébként talál nem sértek szerzői jogot, ha pár dolgot meg osztok az ETR felépítéséről a téma kapcsán:
a KURZUS táblában van a ciklkurz_id mint autoincrementes egyedi kulcs és a kurzuskód csak azonos félévben, azonos kezelési körben (karon) kell, hogy különbözzön az adminisztráció dolgának megkönnyítésére.
a KURZUSORA táblában van a szervezo_id autoincrementes egyedi kulcsként és itt van szerepe az órarendi kódnak, hasonlóan mint a KURZUS táblában a kurzuskód.
a konkrét esetben a kurzuskód és az órarendi kód két különböző dolog, és csak több mezővel együtt alkot egyedi azonosítót, és csak a TOk, tanszékek, adminisztratív munkatársak miatt van rájuk szükség.
pl jobban hangzik egy BEVMAT1 kurzuskód mint, az hogy ciklkurz_id=259765
az ETR a Dexter Informatikai Kft. bejegyzett védjegye. meg minden jog fenntartva vagy valami ilyesmi
Sautia -
skera
tag
Nah, végre valaki, aki phpmyadmin nélkül próbálozik!
1., SHOW TABLES;
2., DESCRIBE tablanev;
A második nem biztos, de én erre emlékszem.
* Feltételezésem szerint konzolosan próbálkozol, így előtte nem felejtetted el a:
USE adatbazisnev
-et beírni.
(A pontosvessző néhol elhanyagolható)
[Szerkesztve] -
Hani
aktív tag
Sziasztok!
Hogyan tudom lekérdezni, hogy egy adatbázisban milyen adattábláim vannak?
És azt, hogy az adott adattáblában milyen oszlopok vannak? -
Gh0sT
addikt
MS SQL szerveren hogyan tárolok képeket?
Látom, van olyan adattípus, hogy image, de ebbe hogyan rakok be képet?
Igazából arra lenne szükségem, hogy az egyes eszközök (kamionok, építőgépek, stb) képei megjelenjenek, ha a user egy legördülő menüből kiválasztja az eszközt. -
skera
tag
válasz
sequator #143 üzenetére
No, én a normalizálást javasolnám.
Szétbontod két táblára:
-Kurzuskódok (kurzusID, kurzusnév)
-Órák(ÓrarendiKód, kurzusID, időpont, oktatóID, stb...)
Megjegyzés: A kurzusID a közös azonosító, amivel a két táblát közös nevezőre tudod juttatni.
Én az SZTE-en használt Egységes Tanulmányi Rendszere alapján írom ezt, mert szerintem ilyen adatbázissémát használ(hat)nak:
Van egy óra, aminek van egy kurzuskódja. Azonban évről évre meghirdetik a kurzust és így nyílván más tarthatja a kurzust, már időpontban lehet, ilyesmi. Ezért pakoltak be egy ún. ÓrarendiKód-ot, amivel az évről évre meghirdetett kurzusokat egyedivé lehet tenni.
No, szóval én ezt javaslom, ismét, már ha ez a baj -
sequator
senior tag
köszönöm a segítséget, de csak kézzel sikerült javítani, így beletelt 1-1,5 órába, de még így is hamarabb elkészültem, mintha cursor-t írtam volna
(#139) paramparya: tudom, hogy nincs rá beépítette támogatás, én valami ügyes joinra, vagy jó cursor-ra gondoltam.
(#140) tbs: kösz, de mindenképpen kell a csinos megoldás, és szövegmezőre nem igazán jó a mod
(#141) skera: kösz, ezzel egyedi lesz minden rekord, de nekem mindeképpen a kurzuskódnak kell egyedinek lennie.
(#142) Tyrael: köszi, de sajnos mindenképpen egyedinek kell lennie a kurzuskódnak, ez egy importálandó tábla és annyi szemét van benne, hogy minden mezőt kulcsnak kellene tennem, hogy jó legyen
mindenestre azért még keresem a megoldást, mert lehet, hogy legközelebb nem ''csak'' 180 sor lesz, hanam 1800.
egyébként az egyik kollégám egyszer talált erre a neten valami ügyes joint, de nem tudja hogy hol. a neten mindenütt csak törlik a dupla rekordokat, vagy skera által javasolt módon javítják. seholsem találtam az én problémámra megoldást
mindent köszönök, ha valaki mégis találkozik jó megoldással ne tartsa meg magának
Sautia -
Tyrael
senior tag
válasz
sequator #138 üzenetére
ne a kurzuskod legyen az elsodleges kulcs, hanem a kurzuskod + az a mezo, amivel egyutt mar csak 1szer fordulhat elo.
pl az egyedi kulcs legyen a kurzuskod + kurzuscim.
igy lehet tobb sor, aminek azonos a kurzuskodja, egeszen addig, amig nem azonos a kurzuscim is.
vagy bevezett egy uj mezot, ami auto incrementes (ez lesz az elsodleges kulcs), es ebben az esetben minden mas lehet azonos.
Tyrael -
skera
tag
válasz
sequator #138 üzenetére
a táblához adj hozzá egy új mezőt, pl. t_id, amit tegyél PRIMARY KEY-é és AUTO_INCREMENT tulajdonságot. Ekkor minden kurzus egyedileg azonosítva lesz.
Bár lehet, hogy normalizálás jobb volna, de ha nem akarsz sokat foglalkozni vele (a sok rekord miatt), akkor a fent leírt dolog is megteszi. -
sequator
senior tag
a következő problémába futottam bele:
adott egy tábla, amiben vannak kurzuskod, kurzuscim, kredit, teljesites, oratipus mezők.
a probléma az, hogy vannak olyan sorok, ahol a kurzuskód azonos, de a többi mező különböző. viszont nekem a kurzuskódot mindenképpen egyedivé kellene tennem.
hogy tudnám azt viszonylag egyszerűen és gyorsan megcsinálni, hogy az azonos kurzuskódokat, mondjuk /a /b /c stb. vagy /1 /2 /3 stb kiegészítéssel egyedivé tegyem?
ja és a táblában 900 rekord van ebből 180 olyan kurzuskód van, amiből egynél több van.
szerk:a dőltbetűs rész
előre is köszönet a segítségért.
Sautia
[Szerkesztve] -
Gh0sT
addikt
válasz
sequator #133 üzenetére
Megcsináltam. Módosítottam az adatokat Varchar-ra, de hogyan tudom beállítani a mező maximális hosszát? Úgy néztem, hogy nem vehet fel Varchar(50) és Varchar(MAX)-on kívül mást. Ezesetben a VB-s felületen kell vizsgálnom a mező értékének hosszát és ott kell megtiltanom, hogy ne lehessen mondjuk 20-nál több karaktert rögzíteni?
-
Gh0sT
addikt
válasz
sequator #129 üzenetére
Istenkirály!
Ez kell nekem! Köszi!
Még egy kérdés: módosítanom kell ezek szerint az adatok típusát egyes táblákban. A gond csak az, hogy köztük már létezik kapcsolat. Ilyenkor bontanom kell az összes kapcsolatot és egyesével átállítgatni minden tábla minden mezejét, vagy kulcsok esetén elegendő az elsődleges kulcsokat módosítanom és a másik táblában lévő kapcsolt mező típusa is változni fog? -
L3zl13
nagyúr
Mysql + random:
RAND(), RAND(N)
Returns a random floating-point value v between 0 and 1 inclusive (that is, in the range 0 <= v <= 1.0). If an integer argument N is specified, it is used as the seed value, which produces a repeatable sequence.
...
To obtain a random integer R in the range i <= R <= j, use the expression FLOOR(i + RAND() * (j – i).
...
You cannot use a column with RAND() values in an ORDER BY clause, because ORDER BY would evaluate the column multiple times. However, you can retrieve rows in random order like this:
SELECT * FROM tbl_name ORDER BY RAND();
...
[link] -
Gh0sT
addikt
-
Tyrael
senior tag
asszem char, meg varchar meg ezek veges meretuek (talan 255 karakter?), text meg akarmilyen hosszu lehet.
de mintha valaki panaszkodott volna ra, hogy text-ben nem mukodott a toredekszo kereses (like ?* stb)
meg szerintem az hogy valami milyen tipus, az nem attol fugg, hogy kulcs-e, vagy nem, hanem hogy mit akarsz benne tarolni, mi a funkcioja.
kerdes, van mysql-ben valami veletlenszam generalas, vagy lehet a visszakapott sorokat veletlenszeruen rendezni?
konkret feladat az lenne, hogy banner-t kene veletlenszeruen kivalasztani, es megjeleniteni.
erre lehetne megoldas, hogy elobb lekerdezem, hogy hany aktiv banner van, es 1 es reklamok szama kozti tartomanyban generaltatok php-val egy egesz szamot, de akkor 2 lekerdezes kellene.
ha viszont van valami ilyesmi mysql-ben, akkor 1 lekerdezessel egybol vissza is kapnam a randomban kivalasztott banner sorat.
elore is koszi, kozben azert megcsekkolom a manualt is, hatha
Tyrael -
Gh0sT
addikt
Primitiv kérdés, de nem vagyok biztos a válaszban.
Ha olyan táblákkal dolgozom, amelyek mezői (tulajdonságai) elsősorban szöveges adatokat tartalmaznak, akkor milyen adattípust célszerű választani SQL Server 2005-nél?
Char(n), Nchar(n), Text, Ntext?
Illetve mit használjak akkor, ha az elsődleges kulcs is szöveges? -
bazs
aktív tag
Egy kicsit kevéssé konkrét kérdésem/problémám lenne
Hol lehet a neten találni valamilyen SQL-es megoldott feladatsort? Tehát arra gondolok, hogy ott vannak a feladatok, hogy milyen táblákon kell végrehajtani és egy helyes megoldás is.
Próbáltam google-val keresni nem sok eredménnyel... -
bogel
tag
Van egy táblám (A), benne elsődleges kulcsokkal és idegen kulcsokkal (B és C tábla közti kapcsolatot jelöli E-R diagramban:
(KulcsB)-[ B]-<A>-[C]-(KulcsC)
..............|
.............(Attribútum1,2...)
Kérdés (lehet, hogy hülye):
Egy idegen kulcs lehet-e része az A kulcsának? Vagy mindig az? Beállíthatom egyszerre idegen és elsődleges kulcsnak is? Vagy alapból az?
Relációként így néz ki ugye:
A(KulcsB_idegen, KulcsC_idegen, Attribútum1,2,3....)
Köszi a mihamarabbi választ!
[Szerkesztve]
[Szerkesztve] -
Tyrael
senior tag
update parancs valo a frissitesre.
UPDATE arlista SET ar = 'ujar' WHERE termekazonosito = 'termekazonosito';
_Petya_
Nem lehet, hogy nincs jogod adatbazist letrehozni? legtobb free tarhelyszolgaltatonal kapsz 1 db-t alapbol, es masikat nem tudsz letrehozni.
Tyrael
[Szerkesztve] -
Tyrael
senior tag
válasz
kamikaze boci #115 üzenetére
használj speckó szerkesztő progit, vagy csináld linux alatt
windows nem kezeli jól az utf-et, és miután kigyomlálod, a mentés ''elrontja'' a karaktereket.
asszem azért van, mert az utf nem 32byte-os, ,mimt az ascii/ansi, hanem 64, es a 256-nal nagyobb karaktereket nem tudja normalisan lekezelni a winfos.
szal ne windows alol szerkeszd az utf szovegeket.
ha nagy hulyeseget irtam, majd ugyis kijavitanak.
Tyrael -
kamikaze boci
őstag
most eljutottam odáig, hogy a mentett sql fájlban már nincsenek benne a default charset sorok (sql kompatibilitásnál a mysql323-at állítottam be), de még mindíg káosz van lokálban...
-
kamikaze boci
őstag
Új tárhelyre költöztem, és rögtön találkoztam egy gonddal. A régi tárhely sql mentései simán felmentek, de ha az új helyen exportálok, minden táblához hozzáadja a
DEFAULT CHARSET=latin1 vagy
DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
Ha feltöltöm lokálba, vagy hibaüzenetet kapok
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=latin1 AUTO_INCREMENT=393' at line 23
vagy, ha kigyomlálom a fenti sorokat, akkor ilyesmi szövegeket:
#
Anyagok forrĂĄsa
K�DEX| �R�SOK
#
AT tĂĄp fĂľcsatlakozĂł
ADATB�ZIS| T�P/UPS
#
(erre számítottam is a svéd karakterkészlet miatt).
A phpmyadmin beállítás a nyitólap szerint: ''MySQL karakterkészlet: UTF-8 Unicode (utf8)'' (ez az új tárhely). Prbáltam lokálban szerkeszteni a phpmyadmin config fájlt, de hiába...
ötlet? -
_Petya_
őstag
Üdv!
MySql-ben szeretném ezt megcsinálni:
CREATE DATABASE valami DEFAULT CHARACTER SET utf8;
De syntax error-t dob rá.
Ez: CREATE DATABASE valami; gond nélkül lefut. Mi lehet a hiba?
Petya -
sbazsi
veterán
hogy tudok úgy árlistát frissíteni, hogy a többi adat ne változzon egy táblában?
van egy excel táblám (egyelőre)
abban több oszlop van.
ebből 2 kell, egy ami a cikkszámos, a másik ami az árat tartalmazza.
hogy tudom ezt egy adatbázisba beletenni, hogy a többi oszlop ne változzon?
az is jó lenne, ha ''egyesével'' csinálná meg, magyarúl valahogy úgy, hogy ahol a cikkszám = abc, ott az ár oszlop legyen ennyi.
ezt excellel nem lenne gond megcsinálni, és utána lefuttatni a parancsot.
szal hogyan? -
Elakadtam, segítsetek!
Egy olyan MS SQL lekérdezést kéne összedobnom, ahol A táblában lévő Kódhoz egy B táblában tartozik adott esetben két adat (legyen Ba és Bb). Hogyan tudom úgy összekapcsolni, joinolni a táblákat, ha azt akarom, hogy ha A táblában lévő kódhoz van Bb adat, akkor azt adja ki, ha pedig nincs (ez előfordul!) akkor adja ki Ba adatot..????
Az IF-es procedurékat nagyon mellőzném ha lehet, remélem megoldható egy 'sima' Select-ben a dolog, csak nem tudok rájönni a helyes táblaösszekapcsolásra. Ha pl OR-al vagy AND-el kapcsolom össze, akkor kiadja - ahol talál - mindkét Ba+Bb adatot is, (ekkor ennyivel több sor lesz az eredmény, mert plusz sorban kiírja ahol talál mindkét adatot) de nem ez kell, hanem hogy ha van Bb akkor csakis azt adja ki ha pedig nincs, csak akkor adja Ba adatot..
Világos? Érthető?
[Szerkesztve] -
X-COM
nagyúr
lehet, hogy a program marhán tcpip-n keresztül akarna kapcsolódni, alapból pedig csak a shared memory van engedélyezve, az sql configuration manager-ben tudod engedélyezni a tcpip-t.
Egyébként a management studio felrakása is ajánlott, igaz még nem végleges, de a későbbiekben hasznos lehet [link] -
Sanya
nagyúr
egy olyan laptopon, amin ez a progi futott, a registry-t lementettem. az sql-re ezt adta ki:
[code][HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{000C101C-0000-0000-C000-000000000046}]
''ServiceParameters''=''''
''LocalService''=''MSIServer''
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{08b0b2d7-3fb3-11d3-a4de-00c04f610189}]
@=''Microsoft SQL Server Replication Distribution Agent 8.0''
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{08b0b2d8-3fb3-11d3-a4de-00c04f610189}]
@=''Microsoft SQL Server Replication Merge Agent 8.0''
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{08b0b2d9-3fb3-11d3-a4de-00c04f610189}]
@=''Microsoft SQL Server Replication Snapshot Agent 8.0''
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{183141A8-992D-11d2-96EC-00C04F8EEDE6}]
@=''Microsoft SQL Server Replication Remote Merge Agent 8.0''
[/code]
ha valamilyen részletet adjak meg, az nagyon jó lenne . a progi még mindig azt mondja, hogy nincs sql a gépen, pedig x-com progiját felraktam (net keretrendszer 2.0-val). -
tomcs
őstag
windowsban tudtommal nincs sql szerver alapbol
ms sql elegge kulon dolog, atlag felhasznalonak altalaban nincs szuksege ra. szal a hibauzit azert kapod, mert (ha nem raktal fel) akkor tenyleg nincs a gepeden sql szerver.
ms sql desktop engine-t le tudod tolteni, nem tom hogy az jo lenne-e neked, lokalis szerverkent lehet hasznalni, mi .net-es sql progikat irogattunk vele. ha msn-en ram szolsz megprobalok segiteni -
Sanya
nagyúr
sziasztok!
az a probélmám, hogy egy sql-t kell felraknom egy programnak, ami pont a windóz xp beépített sql-jét szeretné, de nekem bármilyen sql progi jó lenne.
nos, nem tudom beállítani a windows xp professional sql-jét, ugyanis lehet hülyeségeket írok be adatoknak, de ezzel a hibával áll le:
az sql mellett a progi kér egy ms iis-t is, de azt sikeresen telepítettem.
az sql-nél kér egy:
milyen néven kíván az adatbázisra hivatkozni?-t ide nemtom mi kell, súgót nem találtam hozzá.
a leírás mezőt még gondolom megértem, de lehet nem. idegondolom valami számomra megjegyzés jön.
a kiszolgáló részhez milyen név jön?
utána: felhasználói hitelesítés? stb. a program egy internet nélkül is futtatható mezőgazdasági gépekhez javítási útmutatató lenne. program neve: john deere system advisor. elég fontos lenne édesapámnak.
előre is köszi: SAnya -
marcias
őstag
Szerencsére időközben megoldódott a probléma, a forrás, ahonnét megnéztem hogyan kell telepíteni a MySQL-t, az umt-8-as multilanguage módot ajánlotta, és mivel ott nem latin2 volt ezért a PHPMyAdmin csak rosszul jelenítette meg.
-
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:
-
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.
-
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. -
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.) -
stanci
aktív 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] -
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. -
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
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? -
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] -
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] -
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)
-
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
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! -
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] -
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? -
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!
-
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] -
L3zl13
nagyúr
-
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! -
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? -
Töki
tag
Up!
-
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. -
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. -
sky77
aktív tag
Mysql-hez sajna a legkevésbé sem értek, viszont errefelé érdemes lehet körülnézni: Bővebben: link
Ezen belül is talán ez a legmegfelelőbb topic: Bővebben: link
Remélem tudnak segíteni. -
jeszi
tag
Az egész orvos adatbázist átraktam Access-ből MySql-be. Az átkonvertálást DBTools Manager Professional programmal végeztem.
Miért van az, hogy ugyan az a lekérdezés Access-ben kb. 5 másodpert, MySql-ben meg 15-20 perc? -
sky77
aktív tag
Így gyorsabb? Lefut egyáltalán? Én sajna nem tudom kipróbálni.
SELECT O.ORVOS_ID, O.VEZNEV1, O.KERNEV1_1, O.KERNEV1_2,
I.INTEZMENY_NEV, I.IRSZ, I.TELEPULES, I.CIM,
OIS.TELEFON1, OIS.TELEFON2, OIS.MELLEK,
ORR.MEGYE, ORR.ORSZAGRESZ
FROM ORVOS AS O
left join orvos_int_sw as ois on ois.orvos_id=o.orvos_id
left join intezmeny as i on i.intezmeny_id=ois.intezmeny_id
left join telepules as t on t.tel_nev=i.telepules
left join orszagresz as orr on orr.megye=t.megye
left join orvos_szakvizsga_sw as oss on oss.orvos_id=o.orvos_id
left join szakvizsga as sz on sz.szakvizsga_id=oss.szakvizsga_id
WHERE SZ.SZAKVIZSGA=PSZAKVIZSGA and O.ACTIVE = 1
AND O.ORVOS_ID NOT IN
(SELECT ORVOS_ID FROM EREDMENY
WHERE EREDMENY_TIP_ID IN (11, 12, 13))
ORDER BY ORR.ORSZAGRESZ, ORR.MEGYE, I.TELEPULES, I.CIM;
Talán egy-két táblát is össze lehetne vonni, első ránézésre nem teljesen tűnt indokoltnak, hogy külön táblában vannak adatok, persze lehet hogy tévedek.
Pl.:
orvos_szakvizsga_sw --> orvos
orszagresz --> telepules
[Szerkesztve]
[Szerkesztve] -
sky77
aktív tag
Küldtem választ, de ide is leírom, biztos, ami biztos.
Szerintem, ha mondjuk left join-nal egy egyértelmű megfeleltetést tudsz felállítani a táblák között, kisebb adathalmazból fog dolgozni a select, így van rá esély, hogy gyorsabb lesz, ugyanisselect * from a,b
visszaadja az összes olyan elemet, ami mind a-nak, mind b-nek halmaza, úgy, hogy b összes eleméhe rendeli a összes elemét. Így aztán a where feltétel egy adott esetben akár óriási adathalmazból választja ki azokat a sorokat, akik a kitételnek megfelelnek.
Ha pl így oldod meg:select * from a
left join b on b.x=a.x
tehát már az összekapcsolásban szerepel a ''where feltétel'', eleve kisebb adathalmazt kapsz, amit nem is kell tovább szűkíteni.
Próbáld meg így, hátha segít valamicskét. Addig is nézegetem a kódot, ha időm engedi.
Szerk.: Lehet, hogy célszerű lenne, ha kevesebb adatot hozna a select, így nem kéne annyi táblát összekapcsolni, s a bővebb információk csak akkor kerülnének lekérdezésre, ha a felhasználó úgy kívánja (pl. gombnyomásra). Már ha a feladat engedi, persze.
[Szerkesztve] -
sky77
aktív tag
Ezt így hirtelen kicsit nehéz átlátni... Talán jobb lenne előről kezdeni a lekérdezést, úgy, hogy elmondod, mi a feladat (milyen adatokat szeretnél visszakapni) és ehhez milyen táblák (ill. mezők) állnak rendelkezésre. Biztosan lehetne ezt is optimalizálni, de valahogy nem visz rá a lélek, hogy átbogarásszam.
-
jeszi
tag
Sziasztok!
(Gyenge vagyok sql-ben)
Van egy lekérdezés egy Access adatbázisban:
SELECT O.ORVOS_ID, O.VEZNEV1, O.KERNEV1_1, O.KERNEV1_2, I.INTEZMENY_NEV, I.IRSZ, I.TELEPULES, I.CIM, OIS.TELEFON1, OIS.TELEFON2, OIS.MELLEK, ORR.MEGYE, ORR.ORSZAGRESZ
FROM ORVOS AS O, INTEZMENY AS I, ORVOS_INT_SW AS OIS, ORVOS_SZAKVIZSGA_SW AS OSS, SZAKVIZSGA AS SZ, TELEPULES AS T, ORSZAGRESZ AS ORR
WHERE O.ORVOS_ID=OIS.ORVOS_ID And OIS.INTEZMENY_ID=I.INTEZMENY_ID And O.ORVOS_ID=OSS.ORVOS_ID And OSS.SZAKVIZSGA_ID=SZ.SZAKVIZSGA_ID And I.TELEPULES=T.TEL_NEV And T.MEGYE=ORR.MEGYE And SZ.SZAKVIZSGA=PSZAKVIZSGA AND O.ACTIVE = 1
AND O.ORVOS_ID NOT IN
(SELECT E.ORVOS_ID FROM EREDMENY E
WHERE E.EREDMENY_TIP_ID IN (11, 12, 13))
ORDER BY ORR.ORSZAGRESZ, ORR.MEGYE, I.TELEPULES, I.CIM;
Ez borzasztó lassú, valahogy optimalizálni szeretném ezt a lekérdezést (vagy az adatbázist).
Tudna valaki segíteni? Az adatbázisról készítettem egy képet (táblák, kapcsolatok), azt el tudom küldeni e-mail-ben. -
guest666
aktív tag
THX !
Elég komoly lettpedig milyen egyszerűnek tűnt...
-
sky77
aktív tag
Szerintem az is fontos lenne, hogy abból a cikkcsoportból selectálja ki a legalacsonyabb árnak megfelelőt, amelyik cikkcsoportnak a legalacsonyabb áráról van szó, pl így:
select CIKK.CIKKNEV, MINARAK.AR from
(select min(EGYSEGAR) as AR, CIKKCSOPORT
from CIKK group by CIKKCSOPORT)
as MINARAK
join CIKK on MINARAK.AR = CIKK.EGYSEGAR
and CIKK.CIKKCSOPORT = MINARAK.CIKKCSOPORT -
Goose-T
veterán
Ja, akkor valahogy így próbálkozz:
select CIKK.CIKKNEV, MINARAK.AR from
(select min(EGYSEGAR) as AR, CIKKCSOPORT
from CIKK group by CIKKCSOPORT)
as MINARAK
join CIKK on MINARAK.AR = CIKK.EGYSEGAR
Access-el nem igazán lehet ilyesmit összekattintgatni, vagy nagyon nehézkes lenne.
Már 3x kellett átszerkesztenem, hogy rendesen látszódjon...
[Szerkesztve] -
guest666
aktív tag
Szevasztok, egy SQL lekérdezésre lenne szükségem:
A CIKK tábla tartalma CIKKSZAM, CIKKNEV, CIKKCSOPORT, EGYSEGAR. Feladat: Cikkcsoportonként melyik termék a legolcsóbb ?
Köszi. -
Nedudgi
aktív tag
Indexelés: Alapvetően könnyebbé teszi a keresést mert egy mező szerint sorbarendezi a rekordok azonosítóit (kb).
Kulcsok: azonosítják a rekordokat. Összekapcsolják a táblákat egy táblába idegen kulcs, egy másikban (a kapcsolt táblában elsődleges)
Mergelés, utána kéne néznem mert még nem csináltam.
DDL: Data Definition Language
DML: Data Manipulation Language (SQL az 2in 1)
Most látom hogy már egy napos a hozzászólásod, ha kell még segítség vegyél fe ICQ-ra. Segítek szívesen.
Relációk PL:
ADOSOK(azonosito, nev,.....)
KEZESEK(kezes_azon, nev, ados_azonosito....)
KEZESEK.ados_azonosito (idegen kulcs) -> ADOSOK.azonosito (elsodleges kulcs)
Remélem érthető lett -
VladimirR
nagyúr
angolul jo? mert akkor index-rol itt talaltam egy leirast => Bővebben: link
-
tildy
nagyúr
Huh tudna valaki segíteni az alábbiakban?
Mi az indexelés?
Mire valók a kulcsok?
Hogy lehet két táblát ''összemergelni''?
mik a DDL, DML, DCL?
Ja és pár relációt is mondajtok már
sürgős!!!
[Szerkesztve] -
rollingrock
csendes tag
Én sahosem értettem igazán ezeket a normálformás alakokat ezért mindig ''ösztönösen'' úgy készítettem el az adatbázis felépítést ahogy szerintem jó. Aztán kiderült néha hogy így teljesen mégsem jó...
-
OddMan
őstag
Egy kicsit off...
Tanultam a relációs adatbázisokról. Megtanultam a normálformákat és ismerem az egyed-kapcsolat modellt is. A kapcsolatokról is tanultam és azok ábrázolásáról az egyed-kapcsolat modellben. A kérdésem, hogy hogyan kezdjek el megtervezni egy egyszerűbb adatbázist? Szal egyed-kapcsolat modell segítségével el akarok jutni a 3nf-ig és a kapcsolatokat is ábrázolni akarom.
Egy olyan logikai tervig szeretnék eljutni, amiből már könnyedén lehet bevinni a dolgokat egy relációs adatbáziskezelőbe.
[Szerkesztve] -
sequator
senior tag
második up, ha valaki tud segítsen, mert még QA-t sem merek indítani, nehogy felülírja az esetleg létező untitled.sql-t
Sautia -
sequator
senior tag
első up
Sautia -
sequator
senior tag
SOS kellene help, remélem tud valaki segíteni.
win2ksp4+sql2ksp3 éppen query analyserben írtam egy selectet, és elment az áram, de a querym nem volt elmentve, honnan lehet esetleg előbányászi a query tartalmát?
azt remélem, hogy valahol csak magvan valami tmp fájlban vagy hasonlóban, nagyon kellen, mert egész napi melómat újra kellen kezdenem
Sautia -
RAM
őstag
Sziasztok!
Segítséget szeretnék kérni egy primitív (egy soros megoldásokkal) feladatsor megoldásához.
(Esetleg kérdedznék még programozásból lámer kérdéseket...)
Ki lenne ily kedves segítőkész?
[Szerkesztve] -
chop
őstag
bizony-bizony, buta accessnek alselect kell..mysqlben nem..access(officeban) 100 rongy korul van, mysql ingyenes..kesz
(mielott vki lehurrogna: tudom, az access mezei felhasznaloknak keszult, de konyorgom, mi a szarnak kellett jet sqlt bele rakni, miert nem volt jo a szabvany...? ejnye-ejnye, billy boy..) -
Tersius
tag
Halkan mondom, mert lehet, hogy hulyeseg (bar igy tanitottak nekem, azt hiszem):
DELETE FROM A
WHERE A.VKOD = B.VKOD
AND A.TKOD = B.TKOD
A B.VKOD helyett egy alselectet csinalj.
..
WHERE VKOD=(SELECT VKOD FROM B)
..
Ez csak egy tipp, en igy probalnam megcsinalni (oracle 9i alatt, ha ez szamit) -
Imrege
csendes tag
Van egy SQL problémám:
Van két tábla. Az egyk neve legyen A, a másik B. ''A'' tábla tartalma: KVOD, TKOD, DATUM, MENNY, stb. ''B'' tartalma: VKOD, TKOD. A mezőnevek egyezősége nem véletlen.
A feladat: Töröljük ki ''A'' táblából azokat a sorokat, amelyek benne vannak a ''B'' táblában! (természetesen VKOD és TKOD is meg kell, hogy egyezzen)
Vajon hogy néz ki az SQL parancs?
[Szerkesztve]
Új hozzászólás Aktív témák
- Samsung Galaxy A25 5G / 8/256 GB / Gyárifüggetlen / 12hó Garancia
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RTX 5060 Ti 16GB GAMER PC termékbeszámítással
- Csere-Beszámítás! Prémium vizhűtéses számítógép! I9 11900K / RTX 3090 / 64GB DDR4 / 1TB SSD
- Oppo Reno7 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba ár! Lenovo X1 Yoga 4th - i5-8GEN I 8GB I 256SSD I 14" FHD Touch I W11 I CAM I Garancia!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest