Új hozzászólás Aktív témák
-
fordfairlane
veterán
Keresd meg a második left outer join részt:
[ Szerkesztve ]
x gon' give it to ya
-
fordfairlane
veterán
de ha ehhez a lekérdezéshez hozzáadok még egy join-t akkor már nem lesz eredménye a lekérdezésnek. (pedig van olyan id-jű versenyző)
Pedig sok variáció ezzel nincs, mivel egyértelmű, kit mivel kell összekapcsolni. Versenyzőket a nevezésekkel, azt meg a kategóriákkal, a megfelelő kulcsmezők mentén. Dupla Equi-Join. Versenyzo INNER JOIN Nevezett ON Versenyzo.id = Nevezett.versenyzoid INNER JOIN Kategoriak ON Nevezett.kategoriaid = Kategoriak.id
x gon' give it to ya
-
fordfairlane
veterán
válasz csabyka666 #2049 üzenetére
Ha az áruház nevéből indulsz, és a termék(ek) nevéhez akarsz elérkezni, akkor szükséged lesz mind a három táblára. Három táblát meg két JOIN-nal tudsz összekapcsolni. (Nem mostanában volt pont ugyanerről téma errefelé?)
SELECT termek.nev
FROM termek
(INNER) JOIN kapcstabla
ON termek.id = kapcstabla.termekid
(INNER) JOIN aruhaz
ON aruhaz.id = kapcstabla.aruhazid
WHERE aruhaz.nev = "nagyesszep";Vagy valami ilyesmi. Ez csak két equi-join, semmi nagy varázslat.
Szerk: Az INNER-t azért tettem zárójelbe, mert opcionális. Vagy SQL kiszolgálófüggő.
[ Szerkesztve ]
x gon' give it to ya
-
fordfairlane
veterán
Tároljuk a település nevét szövegként a személy táblában, vagy egy numerikus kódot és joinoljuk egy településeket tartalmazó táblával mindig?
Ha a település neve egyedi, akkor a név lehet kulcsmező. Szövegként tárolni a települések közt, és idegen kulcsként is felhasználható egyidejűleg.
x gon' give it to ya
-
fordfairlane
veterán
Egyébként én először olyan információt akartam szövegként tárolni, ami tipikusan egy enum (SQL) típus lenne, és a mező "kardinalitása" olyan 10 db érték körül mozog. Enummal az a baj, hogy nem elég dinamikus, ha új értékre van szükségem az alkalmazásban, akkor módosítanom kell az elérhető enumok listáját, ami MySQLnél azt is eredményezheti, hogy újragenerálja az egész táblát. És az enumra lett volna alternatíva a numerikus vagy szöveges érték, ahol én arra szavaznék, hogy legyen csak szöveges pl.
Státusz = {"active", "inactive", "suspended", "deleted"} ahelyett, hogy 1,2,3,4-t tennénk a mezőbe. És szerintem ez tényleg nem nagy eretnekség.Már miért lenne eretnekség, sehol nincs előírva, hogy felsorolás mezőnek INT-nek kell lennie. Enum mehet a fix készletnek, CONSTRAIN-es kapcstábla a variábilis jellegűnek. Felindexelve egy varchar is gyors, és csak emiatt fölösleges egy plusz INT-re absztrakciót beemelni a táblaszerkezetbe.
[ Szerkesztve ]
x gon' give it to ya
-
fordfairlane
veterán
válasz Sk8erPeter #2491 üzenetére
Ha biztosan csak számok vannak benne, akkor miért is ne, teljesítmény-szempontból még jobb is lehet.
Kivéve, ha nullával vagy nullákkal kezdődő számsorról van szó. Arra a decimal vagy numeric típus való, nem a különféle méretű integerek, és persze a lebegőpontos ábrázolásmódok sem.
x gon' give it to ya
-
fordfairlane
veterán
válasz Sk8erPeter #2496 üzenetére
Egyébként egyszerű a probléma: nem írta le, hogy a vonalkód milyen értékkészletű, és azt sem, hogy a DB séma milyen. Utólag megtudtuk, hogy double volt, de ezzel sem megyünk sokra, mert a varchar mindent elbír, tehát inkább csak elfedi a hibát, mint sem megoldja.
[ Szerkesztve ]
x gon' give it to ya
-
fordfairlane
veterán
válasz Sk8erPeter #2499 üzenetére
Ismerni kéne a rendszert, hogy a vonalkód milyen értékeket vehet fel. Ha például betű csak valami hiba folytán kerülhet be, akkor decimal + validálás a megfelelő eljárás. Ha előfordulhatnak betűk és számok is, akkor a varcharral nincs semmi gond.
x gon' give it to ya
-
fordfairlane
veterán
-
fordfairlane
veterán
válasz #68216320 #2653 üzenetére
Én is communityt telepítettem fel, 5.6.21-et. Valami developer install opciót választva a mysql workbenchet és a mysql notifiert is felrakta.
Egyébként a belinkelt leírásban ott van, hogy mit kell beírni a my.cnf-be, úgyhogy megoldható workbench telepítés nélkül is.
[ Szerkesztve ]
x gon' give it to ya
-
fordfairlane
veterán
válasz Sk8erPeter #2670 üzenetére
Az biztos, hogy belépési próbálkozásokat én nem user táblában tárolnám el, elvégre a user azonosítót is el lehet gépelni.
x gon' give it to ya
-
fordfairlane
veterán
válasz Khelben #2739 üzenetére
A tranzakciólog tartalma függ a beállított recovery mode-tól, a simple esetén a logból a lezárult tranzakciók eltűnnek. A fizikai törlés a log esetén a shrink művelet. A recovcery mode az egész adatbázisra vonatkozik, és kihatással van az egész backup folyamatra, ezért ha csak egy bizonyos táblánál vannak ilyen kritériumok, akkor azt érdemes egy külön adatbázisba tenni. Pluszban még meg lehet fejelni az egészet egy titkosítással.
x gon' give it to ya
-
fordfairlane
veterán
válasz fordfairlane #2743 üzenetére
a simple esetén a logból a lezárult tranzakciók eltűnnek.
Ez egyébként sajnos nem ilyen egyszerű, de egy manuális checkpoint indítással úgy tűnik, megoldható. Sajnos ez már az a mélysége az MS SQL adminisztrációjának, amit sajnos nem ismerek eléggé.
x gon' give it to ya
-
fordfairlane
veterán
válasz Thrawnad #3115 üzenetére
SELECT * FROM bejelentkezesek WHERE mikor IN (SELECT mikor FROM bejelentkezesek WHERE DATE(nap) = CURRDATE() AND honnan = '1' ORDER BY mikor DESC LIMIT 3)
(PHP alatt lehetőleg NE használd a mysql_query függvényt!)
[ Szerkesztve ]
x gon' give it to ya
-
fordfairlane
veterán
Ezt a logikát nem értem, hogyan oldják meg.
Amikor a kliens rákattint a következő oldal gombra, ugyanaz a lekérdezés lezajlik még egyszer, csak ilyenkor egy másik szeletét kapja az eredményhalmaznak. Az alkalmazáslogika jellemzően nem tárolja el a lekérdezés eredményét, csupán csak a lekérdezés paramétereit, például az url-ben, meg még azt, hogy a halmaz melyik szegmensét jelenítse meg.
x gon' give it to ya
-
fordfairlane
veterán
válasz FIREBLADE78 #3242 üzenetére
Nálam a VirtualBox simán tudja használni a host gép LAN adapterét.
x gon' give it to ya
-
fordfairlane
veterán
válasz FIREBLADE78 #3244 üzenetére
Remélem működik. Egyébként vállalati környezetben megszokott dolog a virtualizáció, részben az ilyen kompatibilitási okokból kifolyólag.
x gon' give it to ya
Új hozzászólás Aktív témák
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest