- Karácsonyfaként világíthat a Thermaltake új CPU-hűtője
- Az USA vizsgálja a RISC-V kínai terjedésének kockázatát
- Kicsit extrémre sikerült a Hyte belépője a készre szerelt vízhűtések világába
- Egészen nagy teljesítményspektrumon fedné le a mobil piacot az AMD
- Kihívás a középkategóriában: teszten a Radeon RX 7600 XT
Hirdetés
-
Az USA vizsgálja a RISC-V kínai terjedésének kockázatát
ph A Kereskedelmi Minisztérium egyelőre csak felméri a helyzetet, egyelőre nem látni, hogy tudnak-e bármit is tenni.
-
Xbox Game Pass [2024] - A májusi lista
gp Az elkövetkező időszakban többek között megkapjuk a Kona II Brume című játékot.
-
Toyota Corolla Touring Sport 2.0 teszt és az autóipar
lo Némi autóipari kitekintés után egy középkategóriás autót mutatok be, ami az észszerűség műhelyében készül.
Új hozzászólás Aktív témák
-
Gyb001
senior tag
Üdv.
A beadandómhoz kérnék egy kis segítséget.Hogyan tudok sql ben többértékű és összetett tulajdonságot létrehozni?
ER diagramon és relációs modellben egyértelmű a dolog, de sql ben nem tudom hogy kellene megvalósítani.Péda:
Többértékű:
Egy alkalmazottnak lehet több végzettsége is ezeket el kell tárolni.Összetett:
A lakcím több részre bontható. Irszám, utca, házszám ...[ Szerkesztve ]
A bus station is where a bus stops. A train station is where a train stops. On my desk, I have a work station
-
-
sonar
addikt
-
martonx
veterán
válasz fordfairlane #1756 üzenetére
Ja, hogy arra? Na, azt még soha nem használtam.
Én kérek elnézést!
-
theo_76
aktív tag
Sziasztok!
Van egy sql kérésem:
SELECT
szabadsag.*, user_data.name, user_data.email, user_data.munk_telep, user_data.munk_csop,
user_data.szabadsag_eves, user_data.szabadsag_kivett
FROM
szabadsag
INNER JOIN
user_data
ON
szabadsag.ID=user_data.ID
WHERE
szabadsag.checkEngedely IS NULL OR szabadsag.checkJovahagy IS NULL
ORDER BY
user_data.munk_telep, user_data.munk_csop, user_data.name ASCa gond az vele, hogy az ORDER BY parancs nem akar teljesülni, ha viszont a WHERE-t kiveszem, akkor rögtön működik...
A szerver adatai, ahol a kód fut: Apache 2.2.19; PHP 5.2; MySQL 5.1
[ Szerkesztve ]
-
theo_76
aktív tag
már az első karaktereknél elcsúszik, amik nem tartalmaznak ékezetes karaktereket. Egyébként a tábla karakterkészlete utf8_hungarian_ci, és a php-ben is úgy állítottam be az sql lekérdezéseket. Ha a WHERE-el nem szűröm meg a lekérdezést, akkor tökéletesen rendez, de ha beteszem a szűrőt, hogy csak bizonyos adatok jelenjenek meg, akkor olyan mintha az ORDER BY utasítás nem is létezne. Ha kiveszem, akkor is ugyan abban a sorrendben jelennek meg, amilyen sorrendben rögzítettem a sorokat. Pl most így néz ki WHERE utasítással ORDER BY-al, és nélküle is:
Komló...
Komló...
Kozármisleny...
Komló...
Komló...WHERE nélkül, ORDER BY paranccsal:
Komló...
Komló...
Komló...
Komló...
Kozármisleny... -
sonar
addikt
válasz theo_76 #1764 üzenetére
Még vmi, a NULL keresés akkor működik rendesen ha vmilyen INT típusú a mező.
Egyébként, tényleg jónak kellene lennie. Próbáld meg azt, hogy a select-ben egymás után rakd be az order by-ban felsorolt mezőket. Aztán akkor látszik, hogy mi lehet még az elcsúszás oka.
SELECT
szabadsag.*,user_data.munk_telep, user_data.munk_csop, user_data.name, user_data.email,
user_data.szabadsag_eves, user_data.szabadsag_kivettA tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
-
-
theo_76
aktív tag
Azt is próbáltam már... Az a vicces, hogy ha a szűrőt kiveszem, akkor tökéletesen rendez. Mintha a WHERE utasítás semlegesítené az ORDER BY-t... Próbáltam még a phpmysql-en keresztül lefuttatni a parancsot, de ott meg null sorral tér vissza sajnos más lehetőségem meg nincs, hogy programmal (pl az MySQL Workbench) beletudjak nézni az sql működésébe... a php kód a 000webhost.com ingyenes tárhelyen fut. Sajnos otthoni körülmények között frissebb mysql-el php-vel nincs most alkalmam kipróbálni.
-
theo_76
aktív tag
kicseréltem azokat a feltételeket, bár nem értem miért nem jó, mivel pont az lenne a lényeg (és végül is működött is a feltétel), hogy azokat a sorokat válogassa ki, amik még nem kaptak semmilyen értéket. Viszont az igazi problémán nem változtat, az ORDER BY, így se teljesül...
-
amdni
aktív tag
Sziasztok.
Most tanulok mysql workmench programban létrehozni adatbázist, sajnos itthon nem működik úgy mint iskolában. Feltelepítettem a programot, létrehoztam a tömböt de nem engedi a program hogy beleírjak.
Link:
http://kepfeltoltes.hu/view/151206/MySQL_Workbench_www.kepfeltoltes.hu_.jpg
[ Szerkesztve ]
-
DNReNTi
őstag
-
biker
nagyúr
Van egy lekrdezésem. Generálok egy átlagot alias score
ez myadminban 4 tizedesig látható is, terminal és sqlite3-ban viszont csak az egész szám látható. Ez miért lehet? Nem találok kapcsolót hozzáElektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
laracroft
aktív tag
Sziasztok!
Van egy COMP táblám, amiben van 16 db ZONE mező.
Ezek némelyike ki van töltve, némelyike nincs. Van hogy csak pl. a 2,5,6,8,10-es ZONE van kitöltve, van hogy mindegyik, van hogy egyik sem.
Keresem azon ügyfeleket, akiknek zónalistájában szerepel a "PROC" szó és a kitöltött zónák száma kevesebb 5-nél.
Na ez a kitöltött zónák száma kevesebb 5-nél kifogott rajtam.
Tudnátok segíteni?Előre is köszi!
SELECT
UGYFEL.LINE AS VONAL,
UGYFEL.COMPSZAM AS COMPSZAM,
UGYFEL.NAME1 AS NEV,
UGYFEL.ADDRESS3 AS IRSZAM,
UGYFEL.ADDRESS1 AS VAROS,
UGYFEL.ADDRESS2 AS UTCA
from UGYFEL
LEFT JOIN COMP
ON UGYFEL.LINE = COMP.LINE
where
(COMP.ZONE1 LIKE "%PROC%"
or COMP.ZONE2 LIKE "%PROC%"
or COMP.ZONE3 LIKE "%PROC%"
or COMP.ZONE4 LIKE "%PROC%"
or COMP.ZONE5 LIKE "%PROC%"
or COMP.ZONE6 LIKE "%PROC%"
or COMP.ZONE7 LIKE "%PROC%"
or COMP.ZONE8 LIKE "%PROC%"
or COMP.ZONE9 LIKE "%PROC%"
or COMP.ZONE10 LIKE "%PROC%"
or COMP.ZONE11 LIKE "%PROC%"
or COMP.ZONE12 LIKE "%PROC%"
or COMP.ZONE13 LIKE "%PROC%"
or COMP.ZONE14 LIKE "%PROC%"
or COMP.ZONE15 LIKE "%PROC%"
or COMP.ZONE16 LIKE "%PROC%")
order by VONAL -
Apollo17hu
őstag
válasz laracroft #1776 üzenetére
Nem tudom, hogy mysql-ben van-e CASE WHEN, de ha igen, akkor:
WHERE
...
CASE WHEN COMP.ZONE1 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE2 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE3 LIKE "%PROC%" THEN 1 ELSE 0 END +
...
CASE WHEN COMP.ZONE16 LIKE "%PROC%" THEN 1 ELSE 0 END < 5...tehát képzel egy 16 tagú összeget, és megnézed, hogy kisebb-e 5-nél.
-
-
laracroft
aktív tag
válasz Peter Kiss #1778 üzenetére
~15000
-
laracroft
aktív tag
válasz Apollo17hu #1777 üzenetére
Köszi kipróbálom
-
laracroft
aktív tag
válasz Apollo17hu #1777 üzenetére
Szia!
Kipróbáltam a kódot, de sajnos nem tűnik jónak
Olyan rekordokat is kiad, amelyeknek több mint 5 zónájuk is ki van töltve.
Közben rájöttem, hogy nem voltam teljesen korrekt a feladat leírásában sem, bocsánat.Azon rekordokat keresem, akinek a COMP táblájának ZONE1-ZONE16 mezőjeiben szerepel a PROC szó ÉS a 16 zónából 5-nél kevesebb mezőben van egyáltalán valamilyen érték (Nem csak PROC szó szerepelhet a mezőkben)
Így nézett ki most a lekérdezés: (Így gondoltad?)
SELECT
UGYFEL.LINE AS VONAL,
UGYFEL.COMPSZAM AS COMPSZAM,
UGYFEL.NAME1 AS NEV,
UGYFEL.ADDRESS3 AS IRSZAM,
UGYFEL.ADDRESS1 AS VAROS,
UGYFEL.ADDRESS2 AS UTCA
from UGYFEL
LEFT JOIN COMP
ON UGYFEL.LINE = COMP.LINE
where
CASE WHEN COMP.ZONE1 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE2 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE3 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE4 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE5 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE6 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE7 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE8 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE9 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE10 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE11 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE12 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE13 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE14 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE15 LIKE "%PROC%" THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE16 LIKE "%PROC%" THEN 1 ELSE 0 END < 5)
order by VONAL -
martonx
veterán
válasz laracroft #1781 üzenetére
Tudom csak kívülről beleokoskodás valós megoldás helyett, de milyen hülyeség már, hogy Zone1-16 mezők vannak a táblában, miközben sokkal normálisabb megoldás lenne, ha egy a többhöz kapcsolatban a Zone-ok ki lennének szervezve egy külön táblába. És máris elég lenne egy group by rájuk az ilyen lekérdezésekhez
Ha pedig valahol mégis egymás mellett kellene megjeleníteni őket, akkor mehetne egy view a táblára benne egy pivot-tal. Sokkal normálisabb adatbázis szerkezet lenne.
Én kérek elnézést!
-
Apollo17hu
őstag
válasz laracroft #1781 üzenetére
Azon rekordokat keresem, akinek a COMP táblájának ZONE1-ZONE16 mezőjeiben szerepel a PROC szó ÉS a 16 zónából 5-nél kevesebb mezőben van egyáltalán valamilyen érték (Nem csak PROC szó szerepelhet a mezőkben)
...
WHERE COMP.ZONE1 || "." ||
COMP.ZONE2 || "." ||
COMP.ZONE3 || "." ||
COMP.ZONE4 || "." ||
COMP.ZONE5 || "." ||
COMP.ZONE6 || "." ||
COMP.ZONE7 || "." ||
COMP.ZONE8 || "." ||
COMP.ZONE9 || "." ||
COMP.ZONE10 || "." ||
COMP.ZONE11 || "." ||
COMP.ZONE12 || "." ||
COMP.ZONE13 || "." ||
COMP.ZONE14 || "." ||
COMP.ZONE15 || "." ||
COMP.ZONE16 LIKE "%PROC%" AND
CASE WHEN COMP.ZONE1 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE2 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE3 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE4 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE5 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE6 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE7 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE8 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE9 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE10 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE11 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE12 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE13 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE14 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE15 IS NOT NULL THEN 1 ELSE 0 END +
CASE WHEN COMP.ZONE16 IS NOT NULL THEN 1 ELSE 0 END < 5[ Szerkesztve ]
-
martonx
veterán
válasz Apollo17hu #1784 üzenetére
A tökéletes példa arra, hogy miért nem így kellett volna a táblát felépíteni, hanem egy a többhöz kapcsolattal külön táblába tenni a Zone-okat.
Én kérek elnézést!
-
senior tag
Segítsetek légyszi az alábbi probléma megoldásában.
Van egy emberek adatait tartalmazó adatbázisom, amit korábban nem minden adatra készítettek fel, így pl. az anyja nevét az egyéb adatokba vették fel még rengeteg mással együtt. Ezt szeretném most egységesíteni.
Létrehoztam az "anyja_neve" oszlopot, és ebbe szeretném belemásolni a megfelelő értéket az egyéb adatokból.Az 'adatok' mező tartalma (text type):
Iskolai végzettség: xxx
Foglalkozás: xxx
Anyja neve: xxx yyy
Szem.ig.sz: 000Ebből az anyja nevét kinyerve szeretném áthelyezni az 'anyja_neve' oszlopba. És ha lehet, akkor törölni is ezt a sort ebből az adatok mezőből.
Később persze ezt tervezem a többi adattal is, hogy felszámoljam ezt a mezőt az ömlesztett adatokkal, és külön legyen minden.
Köszönöm.
[ Szerkesztve ]
-
Apollo17hu
őstag
Ha az "adatok" mező minden egyes rekordban tartalmazza az 'Iskolai végzettség:', 'Foglalkozás:', 'Anyja neve:' és 'Szem.ig.sz:' karaktersorozatokat, akkor az INSTR() függvénnyel meg tudod keresni, hányadik karakter az 'Anyja neve:' kezdete, hányadik a 'Szem.ig.sz:' kezdete, a kettő közötti karaktersorozatot pedig SUBSTR() függvénnyel ki tudod vágni. Ez lesz az anyja neve (amiből az 'Anyja neve:' karaktersorozat levágása már egy fokkal egyszerűbb).
-
biker
nagyúr
van valakinek tapasztalata aes encrypt/decrypt használatával mysql-ben? mennyit lassít, mennyire nehezíti meg a keresést pl?
Elektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
Fooler89
őstag
Sziasztok
Mysql-ben, hogy lehet két tábla metszetét lekérdezni?
-
Fooler89
őstag
DNReNTi: köszönöm.
Lenne egy másik kérdésem
Osztályonként el van tárolva a diákokról a jegyeik. (10 tábláról van szó)
Van egy táblám meg amiben benne vannak a diákok adataik.
Lehetséges ezt egyszerű módon egy táblába rakni azaz diákokat és hozzájuk tartozó jegyeiket? -
csusza`
senior tag
Sziasztok!
Egy kis segítségre lenne szükségem, mivel nem értek az adatbázisokhoz, de most rákényszerültem, hogy kicsit utána járjak a dolgoknak.
Van egy körülbelül 10 éves Linux szerver, amin fut egy MySQL 5.1 adatbázis. Ezt pár napon belül át kell helyezni egy Windows Serverre.
Az adatbázist elérem MySQL Workbench-el, szépen az automatikus Migration Tool áthelyezgeti a kért adatbázist, látszólag minden rendben lezajlik.
Azonban, amikor a Users/Privileges menüpontba bemegyek, kiválasztok egy felhasználót, hibaüzenettel elszáll.Gondolom a felhasználók másolásánál van valami gond, próbáltam utána nézni a neten ennek, de érdemi választ nem találtam.
Felvinném én kézzel a felhasználókat, nem lenne azzal gond, de van vagy 30 ember, a fele nem is tudja azt a nyomorult jelszót...
Meet me @ Dhen' Ess Hardware! | Mikrotik - Routing the World!
-
martonx
veterán
válasz csusza` #1795 üzenetére
Mármint valóban a MySQL-hez van 30 felhasználód, vagy a MySQL-en futó rendszerben van 30 felhasználó? Mert általában magához az SQL-hez nem szokott sok felhasználó lenni. Gondolnám, hogy a MySql Workbench nem teljesen kompatibilis az ősi 5.1-es MySql-lel, és ezért jön ez a hiba.
Én kérek elnézést!
-
sonar
addikt
válasz csusza` #1795 üzenetére
Több megoldás is létezik.
Alapvetően egy rejtett adatbázisban (mysq)l vannak eltárolva
parancssorból/konsolból én igy csinálnám:oldserver$ mysqldump -u root -p mysql > mysql.sql
newserver$ mysql mysql -u root -p < mysql.sql
newserver$ mysql -u root -p 'flush privileges;'A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
-
csusza`
senior tag
Szia!
Megpróbáltam, az utolsó parancsnál leakadt a rendszer.
Újraindítottam, azóta a root jelszót is eldobja a rendszer, és be sem enged a MySQL parancssorba sem!
Nem gáz, le vannak mentve az adatbázisok, próbálkozom, csak pár nap alatt tényleg meg kell oldanom a dolgot.@martonx: az elméleti részéhez nem értek, nem is akarok belemerülni, csak legyen áthelyezve nekik az új szerverre ...
[ Szerkesztve ]
Meet me @ Dhen' Ess Hardware! | Mikrotik - Routing the World!
-
sonar
addikt
válasz csusza` #1798 üzenetére
Hm lehet, hogy a verziók között van vmi különbség.
Próbálj meg dump-ot csinálni az újból és hasonlítsd össze a kettőt.
Illetve mysql.com-ot túrd át. Lehet, hogy vmi known bug lesz v vmi how to lesz rá.A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
-
csusza`
senior tag
Igen.
5.1 alól kidumpolt fájlt az 5.6.28-ba gond nélkül beemelte, e fölött verzióknál már gond volt.
5.6.9-re, sem 5.7.11-re nem ment át rendesen, valami hibával elszállt.Próbáltam utána a működő 5.6.28-at bedumpolni újabba, ugyanúgy elszállt. Pedig jó lenne a lehető legfrissebb verziót felrakni, de most egyelőre nem volt kedvem tovább próbálkozni vele.
Meet me @ Dhen' Ess Hardware! | Mikrotik - Routing the World!