Új hozzászólás Aktív témák
-
martonx
veterán
hijnye ember te halmozottan hátrányos helyzetű vagy.
1. Ez itt egy MySQL topik
2. A dokumentációban végig MSSQL-ről van szó
3. Ennél betegebb helyre nem tudtad feltölteni a megosztando dokumentumot??? Manapság a felhők világában, egy ilyen elcseszett - döbbenet hogy még létező - fájl megosztó oldalt hogy lehet egyáltalán megtalálni?Mondjuk ez a harmadik pont elég szubjektív, de nekem azért is fizetned kellene, hogy egy ilyen helyről letöltsek egyáltalán bármit. Ennek ellenére letöltöttem, és az 1-2-es pontok ellentmondásánál gurultak el a gyógyszereim. Ha a fenti véleményem ellenére is kell segítség tőlem , akkor keress meg nyugodtan privátban
Bár erős a gyanúm, hogy távolról amúgy sem fogok tudni segíteni, mert akinek ez a leírás kínai, annak a windows távoli elérésének bekonfigurálása is elérhetetlen messzeségben van, ami viszont az érdemi segítség nyújtáshoz elengedhetetlen.Én kérek elnézést!
-
Sk8erPeter
nagyúr
No de ezen az alapon az ügyfél akár csillagot vagy akármi mást is írhat a karakterek elválasztásaként kötőjel helyett. Erre a legegyszerűbb, ha a telefonszámot felhasználóbarát módon szétválasztod ország-előhívószámra, körzetszámra, stb., aztán vagy konkatenálva töltöd fel adatbázisba, vagy külön is tárolod ezeket. A validáció meg kliens- és szerveroldalon is elkerülhetetlen, de én a helyedben mindenképp szétbontanám, hogy elkerüljem az ilyen problémákat.
Szerk.: most látom, hogy már hatezer éves (soknapos) kérdés volt, és a (#793)-ban lényegében Te is azokról beszéltél, amiket leírtam.
[ Szerkesztve ]
Sk8erPeter
-
CSorBA
őstag
válasz Sk8erPeter #804 üzenetére
És ami még jobb, hogy már minden létező telefonszám-tárolós helyen meg is csináltam a 3 oszlopos tárolást
-
zka67
őstag
Sziasztok! Egy olyan lekérdezést szeretnék csinálni, aminek az a lényege, hogy megtudjam, hogy kik tartózkodnak bent egy épületben jelenleg. Az adatbázisban van egy dir nevű mező, ami a mozgás irányát jelzi, 0 ha bement az illető és 1 ha ki. Ehhez természetesen tartozik még pár adat, azonosító, időpont stb.
Ezt vajon meg tudom csinálni 1 db lekérdezéssel? Magyarul az kellene nekem, hogy azokat a rekordokat adja vissza, ahol az adott id-hez (sid a mező neve) tartozó legutolsó időpontnál a dir értéke 0 és minden azonosító csak egyszer szerepeljen a listában természetesen, a legutolsó belépés rekordjával.
A segítségeteket előre is köszönöm.
-
zka67
őstag
Asszem megvan:
SELECT temp.maxdt,temp.user,readers.dir FROM (SELECT MAX(dt) AS maxdt, sid AS user FROM traffic GROUP BY sid) AS temp LEFT JOIN traffic ON traffic.dt=temp.maxdt LEFT JOIN readers ON traffic.reader=readers.id WHERE dir=0 ORDER BY temp.user;
Azért köszi a segítséget
-
_Roy_
tag
sziasztok, remélem jó helyre írok
adott két tábla az adatbázisban, amiket szeretnék összefűzni, vannak benne ugyan olyan nevű mezők és különbözőek a lényeg h az új táblában látszódjon mind a 2 tábla mezőinek az értéke LEFT JOIN -al próbáltam megoldani, de ezzel nem jött össze, mert csak az egyik tábla értékeit mutatja, viszont az összes mező benne van mind a 2 táblából
valami ötletetek arra hogy hogyan kellene ennek működnie -
Sk8erPeter
nagyúr
Igen, tudnánk segíteni, ha leírnád, mivel próbálkoztál, meg milyen mező "mentén" kellene összekapcsolni a két táblát.
Az sem mindegy, hogy LEFT JOIN, RIGHT JOIN, INNER JOIN, stb., mert tudni kéne, mely értékek kellenek neked. Csak azok, amelyek mind a két táblában megvannak?Sk8erPeter
-
_Roy_
tag
válasz Sk8erPeter #812 üzenetére
left joinnal próbáltam, mind a két tábla értékei kellenének, viszont vannak olyan mezők pl password, ami mind a kettőben password
az egyik elsődleges kulcsa (username) a másikban ezek az adatok email mezőbe vannak de nem elsődleges kulcs, ott id az elsődleges kulcs[ Szerkesztve ]
-
Sk8erPeter
nagyúr
jó, akkor másképp kérdezem:
az egyik táblában lévő id-t tartalmazza a másik, aminek mentén be lehet azonosítani, hogy melyik névhez melyik e-mail tartozik?
Remélem...
Annyit tudtunk meg, hogy van password mindkét táblában (bár nem értem, minek, vagy miről van szó), van username az egyikben, a másikban meg ki tudja mi.
De gondolom mindkettőben van id.
Ne rohanva írd már le, ha neked kéne segítség, hanem írd körül normálisan. Vagy egyszerűen mutass egy SQL dumpot a táblaszerkezetről legalább.Sk8erPeter
-
PazsitZ
addikt
Szimplán fel kell a select után sorolni a mezőket.
Vagy a tábla nevével prefixelve vagy aliassal.
SELECT table1.password, table2.password FROM table1 LEFT JOIN table2 ON table1.id = table2.fkidAkár még a selectált fieldeknek is adhatsz egyedi alias nevet:
SELECT t1.password AS table2_pass, t2.password AS table2_pass FROM table1 t1 LEFT JOIN table2 AS t2 ON t1.id = t2.fkid[ Szerkesztve ]
- http://pazsitz.hu -
-
Apollo17hu
őstag
Sziasztok!
Telepítettem a MySQL szervert, hozzá pedig a DreamCoder for MySQL eszközt. Utóbbiban próbálnám beállítani a kapcsolatot, de lövésem sincs, hogy kellene:
Nem tudom, mi a Login, a Server-nél pedig semmit sem tudok betallózni. Mi a teendő ilyenkor? -
martonx
veterán
válasz Apollo17hu #819 üzenetére
amikor telepítetted a mysql-t, és nyomkodtad a next-et, volt egy olyan rész, hogy user, meg jelszó. Ez ha jól rémlik defaultban root és nincs hozzá jelszó. Illetve volt egy olyan rész is, hogy fusson-e szolgáltatásként a rendszerrel együtt a mysql, vagy mindig kézzel akarod indítgatni. Azt hiszem itt is a default, hogy fut a rendszerrel együtt.
A server meglepő módon gondolom localhost.Én kérek elnézést!
-
Apollo17hu
őstag
válasz Apollo17hu #821 üzenetére
Rágugliztam: ki kellett szedni a Direct mellől a pipát.
Amúgy ez a rendszerrel együtt futva azt jelenti, hogy a Win minden egyes indításakor automatikusan elindul a MySQL szerver is a háttérben? -
martonx
veterán
válasz Apollo17hu #822 üzenetére
Látod nem is volt nagy cucc beüzemelni. Ezért igazán kár volt a fórumban idétlenkedni. Ráadásul mint annyiszor, most is egy minimális guglizás megoldotta a dolgot.
Egyébként igen azt jelenti, hogy minden win induláskor a MySQL szerver is elindul a háttérben. Ez valamennyi erőforrást lefoglal. Egy régi P4-es celeron kb. használhatatlanná válik tőle, egy core i7-es 8Gb rammal meg észre sem veszi.
Én kérek elnézést!
-
Soak
veterán
Sziasztok !
Van két táblám , Users, Relations. A relations táblában van egy users_id,friend_id,typeofrelation . Azokat a Usereket szeretném lekérni akik a Relations táblában egy bizonyos friend_id mellett szerepelnek és a typeofrelation = 1 .
Magyarul:
Relations táblausers_id friend_id
1 5
2 5A user tábla pedig
id username
1 John
2 Doe
3 Pityuka
stb.Azt szeretném, hogy a lekérésnél az első kettő usert kapnám vissza. Ezzel probáltam, sikerül is kiválasztani a megfelelő sorokat, de mindegyikhez a Users tábla eslő userének adatait illeszti :
SELECT * FROM relations,users WHERE Relations.friend_id = 62 GROUP BY relations.users_username
-
Soak
veterán
SELECT * FROM users LEFT JOIN relations ON users.id = relations.users_id and relations.friend_id = 65 and relations.typeofrelation = 1 GROUP BY relations.users_id
Ezzel a kóddal már majdnem ott vagyok, de valamiért mindig 1-el több usert kapok vissza és annak nincs is relation oszlopokban semmi csak NULL, mit keres ott?
szerk: Nem LEFT JOIN ,hanem JOIN csak simán. Így müködik.
[ Szerkesztve ]
-
Apollo17hu
őstag
select u.id
,u.username
,r.friend_id
,r.typeofrelation
from users u
,relations r
where 1=1
and u.id = r.users_id
and r.friend_id = 5
and r.typeofrelation = 1Ha a két táblában további mezők is szerepelnek, ami miatt duplikálódás fordulhat elő, akkor azokat ne sorold fel a SELECT-ben, hanem használj DISTINCT-et!
-
sonar
addikt
Hi,
Miért van az, hogy ha mindent kitörlök a tábálból és utána felviszek egy új recordot akkor az ID (primary key) nem 1-től kezdődik?
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
-
Speeedfire
nagyúr
Mysql workbench-ben kész adatbázisról nem lehet diagrammot nézni?
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Speeedfire
nagyúr
válasz Speeedfire #834 üzenetére
Kiszúrta a szemem...
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
sonar
addikt
Sziasztok,
Nézzétek el a hiányos tudásomat. Ismét elakadtam.
Van hat csapat és 10 forduló. És menet közben kellene egy tabellát összerakni.
id_team - csapat
id_fordulo - forduló
score - a csapat mennyi pontot szerzett az adott fordulóban.
Hogyan tudnék ebből egy tabellát összerakni?A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
-
sonar
addikt
válasz Speeedfire #837 üzenetére
Egy tábla az egész. És tabella kell belőle olyasmi, mint a fociban.
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
-
sonar
addikt
válasz Apollo17hu #838 üzenetére
Zsiir! A group by nem jutott eszembe.
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
-
Speeedfire
nagyúr
Kis tervezési, kivitelezési kérdésem lenne.
Adott egy tábla mondjuk ahol nagyon sok text-et kellene elmenteni. Helyette ez milyen megoldás?
//elso tabla
id | hajszin | szemszin | hajhossz | testalkat //mind int
1 | 2 | 3 | 2 | 1
//masodik tabla
id | text | code | item
1 | barna | 1 | szemszin
2 | kék | 2 | szemszin
3 | zöld | 3 | szemszin
4 | szőke | 1 | hajszin
5 | rózsaszín | 2 | hajszin
6 | karcsú | 1 | testalkat
7 | telt | 2 | testalkatÍgy az első táblában csak számok vannak és a hozzá tartozó értékek a második táblában van, amit lekérdezésnél visszakeresek sql-el.
Ötlet? Vagy milyen más megoldás van rá?[ Szerkesztve ]
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Soak
veterán
válasz Speeedfire #841 üzenetére
Nagyon sok text-et vagy nagyonsokszor text-et? A text user input vagy előre definiált (mondjuk kategóriák) ?
-
Speeedfire
nagyúr
-
Soak
veterán
válasz Speeedfire #843 üzenetére
Ha jól értem akkor egy sorban 40 oszlop és mindegyikben egy ekkora "cimke" . Úgy sejtem PHP-ban kódolsz szóval én azt mondanám, hogy ha kevesebb cimke lenne (gondolom 40szolophoz van pár választási lehetőség is) akkor egyszerűen le lehetne dokumentálni a Classod elején, hogy mi micsoda.
Viszont ilyen szinten 2 nap alatt elfejtenéd mi-micsoda és mindig keresgetni 10-20 közül a dokumentációdba .
Én azt javaslom, hogy legyen VARCHAR vagy TEXT , mert sokkal gyorsabban programozol ha nem kell felkeresni mindig, hogy melyik kategoria melyik szám, plusz ha esetleg csinálsz keresőt pl, akkor az URL is beszédesebb lehet. (example.com/search.php?haj=szoke&mell=nagy)
[ Szerkesztve ]
-
Speeedfire
nagyúr
Ha jól értem akkor egy sorban 40 oszlop és mindegyikben egy ekkora "cimke"
Igen, kb így van. Ugye a címke mérete az változik, lehet 5-20 karakter is.akkor egyszerűen le lehetne dokumentálni a Classod elején, hogy mi micsoda.
Így van, én is hasonlóra gondoltam, de ha több controllerből akarom lekérdezni, akkor lehet jobb lenne egy segédtábla.Én azt javaslom, hogy legyen VARCHAR vagy TEXT , mert sokkal gyorsabban programozol ha nem kell felkeresni mindig, hogy melyik kategoria melyik szám, plusz ha esetleg csinálsz keresőt pl, akkor az URL is beszédesebb lehet. (example.com/search.php?haj=szoke&mell=nagy)
Valóban egyszerűbb, gyorsabb, viszont nem tudom, hogy teljesítményben meg mindenben melyik lenne a jobb.
Hely szempontjából lényegtelen szerintem 500-600 bejegyzésnél, viszont ha sokan nézik az oldalt akkor lehet jobb ha csak számok vannak az adatbázisban és csak akkor vannak lekérdezve a tényleges adatok, amikor kell.pl ha a user oldalát nézi valaki:
Seged_tabla::item("szemszin", 1);
//a segéd modell meg visszaadná a hozzá tartozó értéket
//valami ilyesmi lekérdezéssel
select text from seged_tabla where item=szemszin && code=1Viszont ugye itt meg több kisebb lekérdezés lenne. Ugye userenként olyan kb40/tábla. Mert ugye van még egy tábla ahol van kb 50 hasonló mező.
Ezt nem tudom hogy mérlegeljem.Több kisebb lekérdezés, vagy egy az egyben mentsek el mindent az adatbázisba.
Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Soak
veterán
válasz Speeedfire #845 üzenetére
Pontosan nem értem, hogy mit szeretnél (a hsz. utolsó bekezdése) , de elég egyszerűen meg tudod mérni.
Csinálsz egy teszt adatbázist . Megcsinálod a vázát. Php-vel random feltöölteszt 500-600 sort, majd pedig pl 50.000szer lekéred és microtimeal megnézed melyik a gyorsabb.
De ha csak nem valami nagyon massziv siteot üzemeltetsz (1.5-2M < pageload/nap ) akkor nem érezhető különbség szvsz.
-
Sk8erPeter
nagyúr
válasz Speeedfire #841 üzenetére
MINDENT id szerint azonosíts. Soak tanácsa szerintem nagyon rossz, hogy inkább mindent varcharral vagy texttel tárolj, kerülendő megoldás, mert nagyon sok partner közti keresésnél észrevehetően lassú lesz a szövegalapú keresgélés.
Az id-khoz tartozó neveket pedig külön tárold. Pl. legyen egy parameters tábla, abban pedig id | name vagy hasonló. De hogy továbbvigyük: gondolj bele, mi van, ha pl. ezeket a neveket fordítani is kell. Akkor még a fordításhoz tartozó "csomópontot" is id szerint érdemes inkább hozzákapcsolni, és a fordítást megint külön táblában tárolni. Tehát akkor meg id | translation_node_id felosztásban lehet. (persze beleerőltetheted azonos táblába az összes fordítást, úgy, hogy minden nyelvhez külön "oszlop" tartozik, de az sem egy túl szép megoldás, nem biztos, hogy mindenre van fordítás, és akkor ott addig NULL van)
Sok ilyen esetben érdemes inkább sok-sok logikailag különálló táblát külön is tárolni, a táblakapcsolások nem fogják nagyon lassítani a lekérdezéseidet, sőt, adott esetben sokkal gyorsabb lehet.Egyébként dolgoztam a tiédhez hasonló feladaton, akkor nem így "oszloponként" tároltam a paramétereket (úgy, hogy
id | hajszin | szemszin | ...
), hanem széjjelbontva,
id | param_id | param_value_id
"csoportosításban" (pl. 1 | 5 | 6, ránézve az adatbázisra persze nem túl beszédes, csak a megfelelő tábla hozzákapcsolásával).[ Szerkesztve ]
Sk8erPeter
-
Speeedfire
nagyúr
válasz Sk8erPeter #848 üzenetére
Akkor te külön kapcsolótáblát tennél mondjuk a 40 mezőhöz?
Illetve te a lekérdezést, hogy oldanád meg? Nincs kedvem a select selectjének a selectjét lekérdezni, illetve se joinolni ennyi táblát.
Csak, mert én simán arra gondoltam az előzőből kifolyólag hogy lenne egy Masodik_tabla model, amiben lenne mondjuk 2 funkció.$item = 'hajszin';
public function items($tem) {
//innen visszadna egy tömbböt, ahol az item mezőben hajszin van, illetve a hozzá tartozó code-ot is
//itt pl visszadná, hogy 1=>barna, 2=>szőke
}
//a másik funckió
$code = 1;
$item = 'hajszin';
public function item($item, $code) {
//itt pedig visszadná azt ahol az item a hajszin és a code értéke 1
//mondjuk azt, hogy barna
}Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
martonx
veterán
válasz Speeedfire #841 üzenetére
Amit leírtál az a szabályos menet, és normalizálásnak hívják. Reméléem nem törtelek le, hogy nem találtad fel a spanyolviaszt.
Igen így szokták használni a klasszikus SQL-t, pont ezért is hívják Tranzakciós SQL-nek, nem pedig NoSQL-nek.Én kérek elnézést!
Új hozzászólás Aktív témák
- Ryzen 9 5950X
- AirPods Max - Silver (Hibátlan és tökéletes állapot, tulajdonképpen új, pár napot volt használva)
- LEGJOBB ÁR! GAMER PC - RTX 3070 - Ryzen 5500 - 16GB DDR4 - 500GB Nvme SSD
- ÚJ Playstation 5 CFW képes (feltörhető), lemezes
- ÚJ Dell Vostro 3520 - 15.6" IPS 120Hz / i5-1235U / 8-16Gb DDR4 / 512Gb / HUN backlit / 3 ÉV GAR.
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest