ez egy sima outer join + NULL helyettesites (coalesce ha mysql)
select a.id, coalesce(b.int_value, 0)
from a
left join b on a.id = b.id;
egyebkent a (+) is outer joint jelent, csak a mysql nem ismeri
[ Szerkesztve ]
ez egy sima outer join + NULL helyettesites (coalesce ha mysql)
select a.id, coalesce(b.int_value, 0)
from a
left join b on a.id = b.id;
egyebkent a (+) is outer joint jelent, csak a mysql nem ismeri
[ Szerkesztve ]
Amúgy biztos, hogy csak 1:1 kapcsolat van köztük? Mert ha nem, akkor több, mint 15.000 sorod lesz...
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
Köszönöm a válaszokat, most már nem tudom kipróbálni itthonról, de majd írok ha sikerült. üdv
Köszi mindenkinek az indexelés miatti nyaggatást, végig azt szúrtam el, tiszta lappal újra kezdtem, indexelve, végre tök gyorsan lefutnak a lekérdezések!
Kaptam a GTFS fórumon egy okosságot, arra a kérdésemre a választ, hogyan lehet kiszedni a GTFS formátumból azt, hogy egy megállón milyen járatok haladnak át (Az összes járat összes megállóját), megosztom veletek:
create table rstops as
select route_id, direction_id, a.stop_id, stop_name from
(select distinct route_id, direction_id, stop_id from stop_times as st, trips as t where st.trip_id=t.trip_id)
as a, stops as b where a.stop_id=b.stop_id order by 1,2;
PH Konfigom: Gigabyte GA-H97M-D3H, i7 4790K,GTX 960, Seasonic SS-620GM
nincs mit, és androidon is gyorsabb már?
Az most fog eldőlni, majd reportolom. Egyébként ha nem is lesz gyorsabb, de legalább létre tudtam hozni egy jóval kisebb táblát, amiben benne vannak azok az adatok amik nekem kellenek. Az indexelés segített, hogy egyáltalán bármit tudjak kezdeni az adatbázissal 10-es limit nélkül
Kérdés:
Indexelésnél van e különbség, melyik a helyesebb:
Új tábla hozzáadásánál KEY `stop_id` (`stop_id`),
vagy a tábla létrehozása után a CREATE INDEX trips_tripid_idx ON trips(stop_id) ?
PH Konfigom: Gigabyte GA-H97M-D3H, i7 4790K,GTX 960, Seasonic SS-620GM
Javaslat: [link]
http://stackoverflow.com/questions/924265/what-does-the-key-keyword-mean
http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html
http://stackoverflow.com/questions/1401572/what-are-differences-between-index-v-s-key-in-mysql
http://www.quora.com/MySQL/What-is-the-difference-between-using-KEY-and-INDEX-in-MySQL
http://stackoverflow.com/questions/1071180/is-the-primary-key-automatically-indexed-in-mysql
http://www.quora.com/MySQL/What-is-the-difference-between-using-KEY-and-INDEX-in-MySQL
Az a baj, hogy túl kevés az információ a zzzinterneten...
Sk8erPeter
Köszönöm
https://heureka-kreativ.hu
Köszi! Az angolom még mindig nem perfect, ezért bizonytalan vagyok, hiába találom meg én is ezeket, de okay.
PH Konfigom: Gigabyte GA-H97M-D3H, i7 4790K,GTX 960, Seasonic SS-620GM
Pedig angoltudás nélkül az informatika világában elég nehéz lesz mozogni.
Sk8erPeter
Lesz? tizenx éve ezzel foglalkozok, és ebből élek, több szálon az rendben, nem egy valamihez értek nagyon, hanem a legtöbb igényelt munkát el tudom látni, és ennyi. Az hogy a msql legbelsőbb bugyraiban nem tudom, hogy a key, és a create index között van e időben vagy eljárásban különbség, nem okozott gondot még A legtöbb programozási nyelvet angolul tanultam én, az megvan, hogy mit kell nézni, meg bambulom a példákat, és ha átírok valamit mi változik szenvedések, viszont egy-egy komolyabban megfogalmazott mondat fölött átsiklik a tekintetem, ezért jobb, ha megkérdezem, de már kezdem megbánni
PH Konfigom: Gigabyte GA-H97M-D3H, i7 4790K,GTX 960, Seasonic SS-620GM
De nézd meg az eredeti kérdésedet, abból nem az derül ki, hogy megpróbáltál volna minimális kutatómunkát is végezni kérdés előtt. Most érted, tök más, ha úgy kérdezed, hogy ezt meg azt találtam, és az alapján így meg úgy értelmezem, szerintetek így van-e, vagy ha tényleg nem találsz valamit, akkor megírod, hogy nem sikerült erről normális infót találnod, mintha egyszerűen rábízod másra az elméleti fejtegetést, vagy a találatok belinkelését (ahogy én is tettem, segítőszándékkal), hadd töltsön csak vele időt más helyetted... Ezáltal vész el a dolog szakmaisága, mert onnantól kezdve nem egy dolog jobb/rosszabb megvalósíthatóságáról, lehetőségekről, ötletekről beszélgetünk, hanem szimplán olyan dologról, ami a dokumentációban is kicsi keresgélés alapján megtalálható. Az eredeti kérdésedben ezzel szemben érdekes problémát vetettél fel, kaptál is választ rá bőven.
Sk8erPeter
Sorry, úgy gondoltam, alapból feltételezitek, hogy nem kérdezek olyankor, ha legalább minimálisan nem néztem utána, de legközelebb jelzem ezt.
PH Konfigom: Gigabyte GA-H97M-D3H, i7 4790K,GTX 960, Seasonic SS-620GM
Ne tőlünk kérj elnézést, hanem magadtól.
Sk8erPeter
LOL
Én kérek elnézést!
Sziasztok
Kapok egy ilyen warningot MySQL alatt:
Data truncated for column 'VALAMI' at row 2
Egy osztás eredményét tartalmazza a VALAMI, .. ilyesmit: (A/B)*100
Jól gondolom, hogy ez azt jelenti, hogy sok tizedesjegyig számolja, de "csak" 4 tizedesjegyig írja ki? Ha igen, akkor hogy lehet a warningot kikerülni?
[ Szerkesztve ]
Kipróbálod egész számokra és ha nem jön a hiba, akkor az oszlop típusa, precisionja nem elég beletenni az eredményt. Vagy explicit truncatelsz ha nem nyúlhatsz az oszlop típusához.
[ Szerkesztve ]
Kozben eszembe jutott hogy igertem hogy megirom, ha sikerult megoldani. Vegul egy sima JOIN -> LEFT JOIN csere lett a megoldas. Amint ezt kicsereltem, pont ugy mukodott ahogy en azt szerettem volna koszonom a segitseget igy utolag is.
Elég sokszor megtörténik
PH Konfigom: Gigabyte GA-H97M-D3H, i7 4790K,GTX 960, Seasonic SS-620GM
Üdv!
Van egy kis szenvedni valóm phpmyadminon keresztül az adatbázis feltöltéssel.
SQL-be szeretném átvinni a CSV-ben elkészített táblázatot, de ez a hiba fogad:
Érvénytelen oszlopszám a CSV bemenet 1. sorában.
Na nekem ez annyit jelent, hogy több vagy kevesebb oszlopom van valahol, ami nem igaz (csak 235535x számoltam meg).
Így igazából csak arra tudok tippelni, hogy valami baja van a táblázattal (valami hiányzik).
Ez a hibajelentés általában mire utal?
GA
van fejléced? Lehet azzal van valami bibi?
Én kérek elnézést!
Üdv!
Próbáltam úgy is, hogy a mezőnevek a CSV első sorában voltam, meg úgy is hogy nélküle.(ha ez a fejléc) Úgy is, hogy ha volt, akkor a feltöltéskor hagyja azt ki. Ezek nem jöttek be. Ami talán fontos és kimaradt, hogy ezt a gépemen lévő wamp-on próbáltam. Ezért kipróbáltam egy online adatbázison is, ott meg feltöltötte.
Ezt nem értem....
Ha már sikerült feltöltenem lenne egy másik kérdésem.
Amit sikerült feltöltenem, azokban a magyar szöveget, ahol az ékezetes karakterek kezdődnek, onnantól levágja. Feltöltéskor az utf8-as karakterkészletet választottam, mivel a varchar-os mezők utf8_hungarian_ci-re vannak állítva. Itt mi a hiba?
A másik, hogy vannak olyan mezők ahol tizedes számok is vannak. Ha jól tudom ott a mezőt decimálra kell állítani? (értékek pl.: 18.2, 5.5, 7.5, 0.5...)
GA
arra figyelj, hogy ha magyarra van állítva a nyelv, akkor egyes programok tizedespontot, mások tizedesvesszőt várnak el.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
Sziasztok!
Adott egy *.sql fájl, amely 723 sorból áll, és kizárólag táblák sémáját tartalmazza, tehát "CREATE TABLE ...".
Elég nehéz átlátni, hogy melyik mező mihez kapcsolódik, elég komplex MySQL adatbázis.
A kérdésem: van-e olyan alkalmazás, amely ezek alapján a tábla sémák alapján képes vizualizálni a kapcsolatokat a táblák között? idegen kulcsok, kulcsok stb.
Tlképpen olyanra gondolok, mint amikot MS Accessben az emberke az egyszerű táblákat összehúzgálja, melyik mező lesz a kulcs, stb. és ilyenkor látszódnak szépen a táblák illetve vonallal a kapcsolatok közöttük.
Itt egy [KÉP] róla, hogy mire is gondolok.
Segítséget köszönöm,
Peti
Ez egy .50-es rombolópuska, elég szép visszarúgással.
ilyet a MySQL Workbench is tud, Reverse Engineernek hivja
[ Szerkesztve ]
Köszi szépen, leszedem, megnézem mit is tud
Ez egy .50-es rombolópuska, elég szép visszarúgással.
most az a kérdés, hogy te meg tudod-e rajzolni a kapcsolatokat vagy az, hogy a tábla séma alapján megrajzolja-e neked automatikusan a program? mert ez utóbbi lehetetlen elvárás.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
Lehet vmit félreértettél.
Tábla sémák alapján szeretnék "rajzot".
És ezt meg is kaptam a MySQL Workbench nevezetű progitól.
Ez egy .50-es rombolópuska, elég szép visszarúgással.
ragaszkodnék a gondolathoz, hogy ezt rendesen lehetetlen megcsinálni.
részeredményt kaphatsz, ha szigorú nevezéktan van a táblákban.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
Nyilván a táblákon lévő FK-k alapján működik, nem oszlopnevek alapján.
Thank you to god for making me an atheist
valóban, az egy fokkal jobb közelítést ad.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
Minél jobb közelítést?
Sk8erPeter
Nem értem mit mondasz.
Ez az eszköz pontosan ua adja vissza nekem ami az adott adatbázis sémája.
Minden táblával, indexel együtt stb.
Ez egy .50-es rombolópuska, elég szép visszarúgással.
egyezzünk ki abban, hogy félreértettelek.
bocs.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
semmi gond
Ez egy .50-es rombolópuska, elég szép visszarúgással.
Sziasztok.
Van egy táblám három sorral, és két adattal soronként. (id [primary key], név)
A kérdés az, hogyha én törlöm a második rekordot, a harmadik id-je csökken eggyel, mintegy átvéve a második helyét?
10 féle ember van: aki ismeri a bináris számrendszert, és aki nem
És nem is lehet megoldani ezt?
10 féle ember van: aki ismeri a bináris számrendszert, és aki nem
de, termeszetesen meg lehet oldani, lehet after delete triggert irni
persze kerdes, hogy megeri-e 1 sor torlese eseten a legrosszabb esetben a tabla osszes tobbi sorat update-elni
(meg hogy indokolja-e ezt barmi is)
[ Szerkesztve ]
Bocs nem neked akartam válaszolni...
alratar: Primary ID-t nem lehet "egyszerűen" módosítani, mivel roncsolja az integritást. Ha fontos, hogy növekvő és folyamatos sorrend legyen, ikább érdemes egy generált mezőt használni (vagy egyszerűen kiiratásnál beszámozni a mezőket). AZ ID mezők nem erre valók, hanem hogy az adatkapcsolatokon keresztül az integritás (mi tartozik mihez) megmaradjon.
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
Nem tudom pontosan mire kell, de ha csak kell egy folytonos sorszám az id alapján rendezve, akkor csinálhatsz egy ilyen viewt neki (ez Oracle-ben).
create view testv as select rank() over(order by id asc) id, nev from testt
[ Szerkesztve ]
Thank you to god for making me an atheist
Akkor leírom, hogy miért is kellene ez.
Egy olyan adatbázist szeretnék csinálni, ahol futball játékosok neveit és adatait lehet felvinni.
És mivel, ugye a játékos állomány folyamatosan változik (eladják őket stb) így az id hosszúsága előbb-utóbb több tíz hosszúságú is lehet.
És ezt szettném kibekkélni!
10 féle ember van: aki ismeri a bináris számrendszert, és aki nem
10 hosszúságú
Az 1 000 000 000 ember - ennyi focisa nincs is a világon... ez a föld teljes lakosságának a ~15%-a
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
"az id hosszúsága előbb-utóbb több tíz hosszúságú is lehet."
http://dev.mysql.com/doc/refman/5.0/en/integer-types.html
tartományok:
signed int: -2147483648 - 2147483647
unsigned int: 0 - 4294967295
Sk8erPeter
Jó, kicsit túloztam!
10 féle ember van: aki ismeri a bináris számrendszert, és aki nem
Na és akkor mi lesz, ha már a tényleges, aktív játékosállomány is meghaladja ezt a tartományt, miután megcsináltad ezt a léptetgetést ?
Komolyra fordítva, az id-ket nem módosítgatjuk, főleg nem ilyen ürüggyel. Megfelelően nagy típust kell választani kulcsnak, amelybe belefér minden tervezett adat + ráhagyás.
Thank you to god for making me an atheist
Ahogy ítam az ID mező nem erre való - tegyél be egy plusz mezőt (mondjuk legyen mez-szám) és így ha kiveszel valakit, úgy már ahelyett be tudsz állítani egy másik játékosnak egy korábban már kiadott számot...
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
Így belegondolva igazad van, nem tudom mért bonyolítottam a dolgokat!
10 féle ember van: aki ismeri a bináris számrendszert, és aki nem
Sziasztok! Mit rontok el?
Van a kérésemben egy feltétel exception_type <> 2, ha a kérésembe beteszem ezt a feltételt, akkor üres sorok jönnek ki, ha kikommentelem, akkor kijönnek az eredmények, olyanok is, amiknél az exception_type értéke NULL. Miért nem igaz a feltétel mégsem?
PH Konfigom: Gigabyte GA-H97M-D3H, i7 4790K,GTX 960, Seasonic SS-620GM
A NULL speciális érték, pl. Oracle-ben nullt bármihez hasonlítod = / != -vel, egyaránt unknown eredményt ad. Null helyett érdemes lehet egy speciális, nullt szimbolizáló értéket adni a mezőnek, vagy ha az nem opció, akkor mindig IS NULL / IS NOT NULL-lal (is) vizsgálni.
Thank you to god for making me an atheist