- Fórumok
- Szoftverfejlesztés
- SQL kérdések
- (kiemelt téma)
-
2200 - 2101
6041 - 6001 6000 - 4001 4000 - 3901 3900 - 3801 3800 - 3701 3700 - 3601 3600 - 3501 3500 - 3401 3400 - 3301 3300 - 3201 3200 - 3101 3100 - 3001 3000 - 2901 2900 - 2801 2800 - 2701 2700 - 2601 2600 - 2501 2500 - 2401 2400 - 2301 2300 - 2201 2200 - 2101 2100 - 2001 2000 - 1901 1900 - 1801 1800 - 1701 1700 - 1601 1600 - 1501 1500 - 1401 1400 - 1301 1300 - 1201 1200 - 1101 1100 - 1001 1000 - 901 900 - 801 800 - 701 700 - 601 600 - 501 500 - 401 400 - 301 300 - 201 200 - 101 100 - 1
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
Új hozzászólás Aktív témák
-
bpx
őstag
igy esetleg? ugy emlekszem lehet ilyet
AND NVL(t1.calendar_date, to_date('20131231', 'yyyymmdd')) = to_date('20131231', 'yyyymmdd')
AND NVL(t2.calendar_date, to_date('20131231', 'yyyymmdd')) = to_date('20131231', 'yyyymmdd') -
Apollo17hu
őstag
FULL OUTER JOIN-nal azonosítón keresztül összekötök két táblát. A táblákban időbélyegek vannak, mindkettőben adott nap (ugyanaz a nap) érdekel csak. Ha a táblákat allekérdezésbe rakom, és "előszűröm" őket a szükséges napra, akkor működik a lekérdezésem.
Van allekérdezés nélküli megoldás? Ez a kód nem jó, mert a WHERE miatt metszetet kapok unió helyett (-> "megöli a FULL OUTER JOIN-t")
SELECT ...
FROM t1
FULL OUTER JOIN
t2
ON t1.id = t2.id
WHERE 1 = 1
AND t1.calendar_date = to_date('20131231', 'yyyymmdd')
AND t2.calendar_date = to_date('20131231', 'yyyymmdd') -
n00n
őstag
Sziasztok!
Lenne pár Firebird - Linux kérdésem. Van három adatbázison (1 GB, 9 GB, 15GB), a szerverben 8 GB RAM (64 bites Linux szerver)
DB infók:
1 GB-os:
Page size 4096
Page buffers 100009 GB-os:
Page size 8192
Page buffers 1000015GB-os:
Page size 4096
Page buffers 0Ezeket nem én állítottam be, így kaptam őket. A kérdésem a harmadik legnagyobb adatbázisnak miért 0 a page bufferje? Miért érné meg erre beállítani? Miért mindössze csak 4%-os a memória használatom ilyen beállítások mellett?
-
FireFox1996
addikt
-
kemkriszt98
tag
-
jozsi84
tag
sziasztok.
A segítségeteket szertném kérni egy feladatnál:
hogyan lehet A táblából átmásolni B táblába dátumot /2013-05-18 18:40:33.000/ úgy, hogy hozzáadok automatikusan 30percet az időhöz.
A tablaban a datum a TRANS_DATE oszlopban van.
....ez egy procedura resze lesz, csak itt elakadtam....
köszönöm szépen előre is!
-
DNReNTi
őstag
TRUNCATE TABLE `táblanév`.
Eldob minden rekordot, és visszaállítja az AI-t is. -
kemkriszt98
tag
Sziasztok, ha egy táblából törlök minden adatot, hogy tudom megoldani, hogy az oszlop amin AutoIncrement van megint 1-től induljon? Ezt a megoldást találtam de syntax error-t kapok : DBCC CHECKIDENT(YourTableName, RESEED, 0)
-
Fundiego
tag
-
bpx
őstag
-
Fundiego
tag
ORA-00911: invalid character
csak ha kijelölöm pl ezt
CREATE TABLE TASKA
(nev VARCHAR2(15),
munkahely VARCHAR2(15),
szuldatum NUMBER(4),
CONSTRAINT TASKA_PRIM_KEY PRIMARY KEY(nev));
nem ír semmit lefuttatja csak egybe az egészet nem. nem értem mért -
Fundiego
tag
sziasztok, nem értem h itt mi lehet a probléma?:/
külön külön lefut ,részegységenként a kód. de egybe , nem
DROP TABLE TASKA;
CREATE TABLE TASKA
(nev VARCHAR2(15),
munkahely VARCHAR2(15),
szuldatum NUMBER(4),
CONSTRAINT TASKA_PRIM_KEY PRIMARY KEY(nev));
INSERT INTO TASKA VALUES (' Béla','ABC',1965);
SELECT * FROM TASKA; -
bambano
titán
de a keresendő szavakban a szóközt ne |-re cseréld, mert az nem szóköz, hanem keresd meg, hogy a te regexpedben mi a szóköz rövidítése. pl. lehet ilyen: [:whitespace:]
és akkor a találj meg keresést így kell írni:
találj[:whitespace:]meg|másik[:whitespace:]keresés|harmadikszóval vagy egyszer fűzöd össze a mezőket, és csinálsz rendes keresőkifejezést a keresendő szavakból, akkor regexp-et kell használnod.
vagy like-ot akarsz használni, akkor or-ral össze kell fűzni a kereséseket. -
csabyka666
veterán
-
csabyka666
veterán
Akkor nem értem, nálam miért csak úgy fogadja el.
Pedig már közel állok az igazsághoz.Illetve probléma még az is, ha a mezőben, amiben keresek, több szó van, szóközzel elválasztva. Akkor azt nem találja meg. Pl. a mező tartalma: "találj meg", és ha beírom a keresőmezőbe, hogy "találj meg", akkor nem ad találatot.
Összefűztem a CONCAT()-tal SQL-ben, és | jelek vannak a keresőkifejezésben. Hát nem tudom, mi lehet a baj.
Nem akad össze a | jel? Mert a CONCAT()-ban is azokat használom.Hogy értetted, hogy VAGY-gyal csináljak egy végső logikai kifejezést?
-
bambano
titán
miért kellene az összes előforduló sorrend?
a szavakat azért kell határoló jellel elválasztani, nehogy megtaláljon olyan rekordokat, ahol az egyik mező vége és a másik mező eleje együtt kiad egy keresendő szót.
de azon belül a sorrend mindegy, mert úgyis csak szón belüli egyezést talál.lesz egy hosszú sql kifejezésed, na és? szöszöljön vele a szerver, azért van. egyébként is a hosszú kifejezés 4-5 mélységig beágyazott subselectnél kezdődik, triggerekkel hülyítve

szerk: közben megértettem. ha így concat-tal csinálod, akkor csak egy keresendő szóra tudsz egyszerre keresni és azt utána php-ben össze kell merge-lni.
viszont ha like-ból visszatérsz az eredeti ötleted szerinti regexp-be, és ott a | az a logikai vagy, akkor jó lesz, nem kell sorrenddel foglalkozni.szerk2: tehát a végső megoldás:
concat(...) like '%keresendoszo1%' or
concat(...) like '%keresendoszo2%' or
.
.
.
concat(...) like '%keresendoszox%'; -
csabyka666
veterán
Köszi a választ, félsiker már van.
Szűkíti a találati listát, viszont ahhoz, hogy eredményt kapjak, abban a sorrendben kell beírnom az adatokat, ahogy az összefűzésben szerepel.
Ezt írtam:
WHERE CONCAT(mezo1,'|',mezo2,'|',mezo3,'|',mezo4) LIKE \"%$keresokifejezes%\"A $keresokifejezes-ben így|szerepelnek|a|beírt|szavak.
Ezekből csináljak VAGY-gyal egy végső kifejezést, amiben az összes előforduló sorrend szerepel? Szóval lesz egy tekintélyes hosszúságú SQL lekérdezésem?
-
bambano
titán
a te megoldáshodhoz:
lehet azt csinálni, hogy or-ral összerakod a keresőkifejezést egy keresésre, ami lehet az, hogy egy keresendő szó minden mezőre kifejtve vagy lehet egy mező minden keresőszóra kifejtve.
amit visszaad, azt beolvasod egy ciklussal tömbbe.
utána ismétled az egészet tovább, megint beolvasod tömbbe, képezed a metszetet, és ezt csinálod ciklikusan. de ez nekem nem tűnik elegánsnak. -
bambano
titán
a dolog lényege, hogy php-ben összefaragod stringműveletekkel a keresési feltételt, és utána egy keresést futtatsz, mert ha több utasításban keresel, akkor a distinctből falra hányt borsó lesz.
azt nem értettem eddig a kérdésedben, hogy neked a keresőszót több mezőn is egyszerre kellene értelmezni, eddig azt hittem, csak egyen.
erre meg az a megoldás, hogy az adatbáziskezelővel összerakatod egy stringbe az összes mezőt, amiben keresni akarsz, és arra adod meg a kereső kifejezést.tehát ha van mondjuk egy név, egy leírás, egy gyártó meződ, akkor valahogy így:
név||'|'||leírás||'|'||gyártó like '%elsőkeresőszó%' (postgresql szintaktikával, a || a postgresben string konkatenáció)
és ebből csinálsz logikai vagy-gyal függvényt. vagy csinálni kell rá egy nézettáblát, amin keresel, az lehet, gyorsabb.
magyarul keresel egy olyan karaktert, ami biztosan nem fordul elő az adatokban, hogy elválaszd a szavakat (nekem erre a csővezetékjel a kedvenc), és az összes mező tartalmát összerakod egy stringbe ezzel a jellel elválasztva, majd ezen a stringen csinálod a like-ot. ez egy logikai kifejezés, ebből csinálsz vagy-gyal egy végső logikai kifejezést.
másik, nem annyira elegáns megoldás, ha csinálsz egy külön táblát, amibe ideiglenesen tárolod a keresések részhalmazait, csak akkor ott figyelni kell rá, hogy párhuzamos használat esetén mi lesz.
szóval egy táblába beleszórod azokat az azonosítókat, amely rekordokban az aktuális keresőszó megvan, majd csinálsz egy selectet belőle, distinct-tel, valahogy így:for i in (keresendő szavak listája sorban); do
for j in (keresett mezők listája sorban); do
sql="insert into temptabla (id) select id from tabla where $j like '%$i%';
done
done
select distinct id from temptabla;ez nyilván nem helyes program, csak egy utalás arra, hogy hogyan kellene. szerintem ez a második megoldás kicsit parasztos, de mindegy...
-
csabyka666
veterán
Próbáltam több módon is a LIKE-al, DISTINCT-el, de vagy az van, hogy én mondtam rosszul, amit el akarok érni, vagy valamit rosszul írtam a PHP-ban, vagy te értelmezted rosszul...a fene se tudja, a lényeg, hogy nem sikerült összehozni.
Nem értem azt sem, hogy miért nem kell lefutnia többször a query-nek? Van 4 mezőm, amiben keresni akarok, és mindezt úgy, hogy minden egyes beírt szóra megnézem, hogy illeszkedik-e bármelyik mezőre is.
Szóval beírom, hogy "ezt akarom megkeresni", és ebből - értelmezésem szerint - mindhárom szót meg kell néznem mind a 4 mezőn. (Tehát annyiszor futtatom a query-t, ahány szót megadok neki.)Azt már elértem, hogy csináltam egy tömböt, amibe beletettem mindegyik keresőszót, és ezen végigmentem, majd lefuttatom a query-t mindegyik szóra. Vissza is adja, hogy melyik indexeket találta meg (és ráadásul jót ad vissza), de ott akad meg a dolog, hogy ezeknek nem tudom a metszetüket venni. 99% hogy ez így működne, ha tömbökbe tudnám tenni a keresések eredményeit, mert azoknak tudom metszetüket venni.
Ha van ennél egyszerűbb módszer, akkor szívesen meghallgatom azt is, de így most tanácstalan vagyok.
A lényeg ugye az lenne, hogy csak azt a sort (esetleg sorokat) adja vissza a legvégén, amelyikre az összes beírt kifejezés passzol, vagyis a metszetüket.
Tehát:
...WHERE
mezo1 LIKE '%$keresokifejezes%' OR
mezo2 LIKE '%$keresokifejezes%' OR
mezo3 LIKE '%$keresokifejezes%' OR
mezo4 LIKE '%$keresokifejezes%'
...és persze minden mezőt minden kifejezésre meg kellene vizsgálnom. -
csabyka666
veterán
-
bambano
titán
szerintem nem jó ötlet a php-t dolgoztatni olyan dolgokkal, amit az adatbáziskezelő helyből hatékonyan megold. tehát a keresési találatok metszetét nem php-ben kell megoldani, hanem sql szinten.
egy kósza javaslat:
select distinct id from table where mezo1 like '%akarmi1%' or mezox like '%akarmin%' ... ; -
csabyka666
veterán
Na, aludtam egyet a dologra. Jó lenne nekem a LIKE is, de azt kellene elérni (viszont ezt már PHP szinten), hogy ráküldöm a keresőkifejezést mindegyik (esetemben 4) rekordra pontosan annyiszor, ahány szót írt be a felhasználó.
Erre gondolok:
A kifejezés legyen: "most ezt szeretném megkeresni", és legyen 4 rekord, amiben keresni akarok.
1.) "most" -> keresi 1-2-3-4-ben -> visszaadja pl. 1-2-3-4-et
2.) "ezt" -> keresi 1-2-3-4-ben -> visszaadja pl. 1-2-4-et
3.) "szeretném" -> keresi 1-2-3-4-ben -> nem ad vissza semmit
4.) "megkeresni" -> keresi 1-2-3-4-ben -> visszaadja pl. 1-4-etEzután össze kéne gyűjtenem a találatok sorainak indexeit, de úgy, hogy a metszetüket venném, és akkor a végén csak azt adnám vissza, amelyik mindegyikre találatot adott, a példa szerint 1-es és 4-es lenne a találat.
Itt jön a kérdés, hogy PHP-ben ezt hogy tudom elérni...
MOD: hm, array_intersect(); ?

-
martonx
veterán
én csak a példa kedvéért írtam a like-ot, nem azon volt a hangsúly, hanem az egymásba ágyazott vagy-okon és-eken.
-
bambano
titán
ha emlékeim nem csalnak, akkor regexpben (igazából kérdezni kellene, hogy pontosan melyikben, mert többféle van), a | az a logikai vagy.
tehát a most|ezt|szeretném|megkeresni regexp az ennyi:
string='most' or string='ezt' or string='szeretném' or string='megkeresni'a like az csak csonkolni tud, vagyis részstringet keres, a regexp meg ennél bonyolultabbat is tud, cserébe legalább lassú.
"Ha LIKE-ot használok, az a szóközzel nem tud mit kezdeni.": miért ne tudna?
"Viszont a REGEXP-nél meg tudom azt oldani, hogy a beírt stringben lecserélem a szóközöket | jelekre, és odaadom az SQL lekérdezésnek.": igen, és a fentiek alapján ezzel teljesen más keresőkifejezést alkottál, mint ami az eredeti volt.
-
csabyka666
veterán
Húha, lehet, hogy én mondtam rosszul, de nem értem, pontosan mire gondolsz.
Azért kellene a REGEXP, mert az ilyen formában várja a stringet: most|ezt|szeretném|megkeresni.
Ha LIKE-ot használok, az a szóközzel nem tud mit kezdeni. Viszont a REGEXP-nél meg tudom azt oldani, hogy a beírt stringben lecserélem a szóközöket | jelekre, és odaadom az SQL lekérdezésnek.De amit írtál, arra alszok egyet. Lehet, hogy az lesz a megoldás, hogy egymásba kell ágyazni az ÉS-eket és a VAGY-okat.
-
csabyka666
veterán
Nem feltétlen 4 szót adhat meg, viszont 4 mezőben kellene keresnie.
A REGEXP-et itt a fórumon javasolták. A LIKE azért nem jó, mert azzal alapból nem tudok több kifejezést vizsgálni egyidőben. Illetve tudok, mert leprogramoztam PHP-vel, de elég bonyolult lett, és pazarol is az erőforrással. Ha több felhasználó is használja az oldalt, akkor szerintem szép kis SQL vihart csinálnának.
Szóval a REGEXP jó lenne, csak a feltételekkel vagyok bajban.
-
martonx
veterán
Valami ilyemi kellene, hogy legyen a keresési feltételed:
WHERE
(feltétel1 nem üres OR mező1 like feltétel1)
AND (feltétel2 nem üres OR mező2 like feltétel2)
AND (feltétel3 nem üres OR mező3 like feltétel3)
...Már ha jól értettelek.
-
Apollo17hu
őstag
A 4 mezőben keresel azt jelenti, hogy a felhasználó max. 4 szót adhat meg szűkítésnek? Szerintem a keresők nem ezen az elven működnek, de ha te így szeretnéd, akkor talán az AND mégis használható lenne, ha REGEXP helyett LIKE '%keresés%' jellegű kifejezéseket vizsgálnál. Amúgy a REGEXP honnan jött? Miben jobb a LIKE-nál a lekérdezésedben?
-
csabyka666
veterán
Üdv!
REGEXP segítségével keresek egy adatbázisban (a keresőkifejezésben a szóközöket |-re cseréltem), és azt szeretném elérni, hogy több beírt keresőszó esetén szűkítse a találati listát az SQL. 4 mezőben keresek, és ezeket OR köti össze, viszont így az a probléma, hogy minél több szót írok be, annál több találat lesz.
Nem tudom, mennyire érthető, mit akarok kinyökögni. Próbálom illusztrálni. Adott 2 sor a táblában:
1.) Danone - joghurt - epres - 125g
2.) Danone - joghurt - barackos - 125gHa beírom, hogy "epres", akkor csak az elsőt találja meg, de ha azt írom be, hogy epres joghurt, akkor megtalálja mindkettőt, és én azt szeretném, ha csak azt a sort találná meg, ahol mindkettőt rá tudja illeszteni.
Túl egyszerű lenne, ha AND kötné össze a REGEXP-eket, mert akkor ugye mind a 4-en rápróbálja, és ha akár egyik nem hoz eredményt, már nincs is eredménye a keresésnek. Ha mind a 4 mezőnél egyezést talál, akkor persze jót ad vissza, de minél több mezőt kell megadni, annál kisebb az esélye, hogy a felhasználó kap eredményt...
Szóval értitek, mi a problémám...? Van valami relatíve egyszerű megoldás erre?
-
Pttypang
veterán
-
Ispy
nagyúr
-
Pttypang
veterán
-
bambano
titán
-
Pttypang
veterán
Sziasztok!
SQL Compact db-ben hogy néz ki a csoportos insert syntax? Az msdn-en nem találtam megoldást sajnos, kedvem pedig nem túl sok van ~10k sor ismételt egyesével való felviteléhez.A választ előre is köszi!

-
Ablakos
addikt
delete from (select 1 from A , B where A.id = B.ref_id where B.attr = 'valami');
-
eames
tag
-
BigBlackDog
veterán
Amit elfelejtettem leírni, hogy PL (Oracle) SQL-ről lenne szó. Ott is lehetséges join-olni a delete-ben?
-
Peter Kiss
őstag
Ha csak ezt a négyet, akkor a join-ok nem esnek ki, szóval azzal tudod megoldani.
Cursor-oknál lassab SQL megoldás nem létezik.
-
BigBlackDog
veterán
Halmazműveletek alatt pontosan az UNION, INTERSECT, MINUS, IN műveleteket értem (érti a feladatsor), mivel ezek állítólag elég költséges műveletek. Gondoltam már én is a cursorra, asszem akkor ki is próbálom.
A kretén módszerekkel, vagyk kihívásokkal (ki hogyan fogja fel) kapcsolatban meg maradjuk annyiban egyelőre, hogy egy egyetem Budapestről...

(#2154) Ablakos: Köszönöm, utánanézek ennek is.

-
Ablakos
addikt
On delete Cascade opcióval létrehozott tábla?
-
Peter Kiss
őstag
Hehheh, bármilyen SQL halmazműveletekről szól, akármit is csinál, szóval sehogy?

Cursor-okkal mehetsz a legközelebb az általad kért megoldáshoz, de kíváncsi lennék, miért kell valamit kretén móton megoldani.

-
BigBlackDog
veterán
Sziasztok!
Kis segítséget kérnék, nem nagyon jövök rá, hogy hogyan lehetne az alábbi problémát megoldani. Szóval adott két tábla, 'A' és 'B'. 'B' táblában, minden rekordhoz van egy idegen kulcs egy 'A' táblabeli elemre. Minden 'B' táblabeli rekordhoz egy 'A' táblabeli rekord tartozhat, fordítva viszont 0..n a kapcsolat.
'A' táblából kéne rekordokat törölnöm a hozzájuk kapcsolódó 'B' táblabeli rekordoktól -azok egy attribútumának értékétől- függően, mindezt inner selectek és halmazműveletek (in, union, stb) nélkül. Hogyan oldható meg ez a feladat szerintetek?
Előre is köszönöm a válaszokat! -
bpx
őstag
most akkor MySQL vagy MSSQL support kell?
-
martonx
veterán
Huh, én dolgoztam outsorcing céggel, akik outsourcingban linux, mysql szervereket tartottak karban.
Viszont nem volt jó tapasztalatom velük, bár a semminél jobbak voltak.Ha nagyon kell, megpróbálom feldúrni az emlékezetemben (emailjeimben) őket, ha drágán, lassan, akarsz nem túl jó minőségű munkát kapni, akkor mindenképpen jobbak mint a semmi.
-
kenesei1982
aktív tag
találtam egy számot:
Professional Support (MCP, SA, MSDN)
+36 1 2674636Hátha vkinek még kell. Holnap kiderül tudnak-e segíteni.
-
kenesei1982
aktív tag
Sziasztok,
Rágoogliztam, de csak álláshírdetéseket dob ki az sql support kifejezésre.
Ismer valamelyőtök magyarországi MySQL supportot? Van egy adatbázisunk, ami még működik, mert fogadja az új adatokat, de se keresni, se törölni nem tudunk benne.
Valami hivatalos dolog kellene, mert céges az ügy, uh hivatalosan kell megoldanunk.Ismertek ilyet?
-
martonx
veterán
-
eames
tag
-
martonx
veterán
Ez esetben ahogy írtam már, kell neked egy segéd tábla, valami ilyesmi felépítéssel:
Felhasználó azonosító, Iroda azonosító, Engedély dátum, Engedély (Igen / nem)
És ilyesmi adataid lennének benne:
1, 1, 2014-01-01, igen
1, 2, 2014-01-10, igen
1, 1, 2014-02-15, nemAzaz az 1-es felhasználó az 1-es irodához kapott engedélyt 2014-01-01-én. Ezt az engedélyt 2014-02-15-ével visszavonták. A 2-es irodához van élő engedélye 2014-01-10-e óta.
-
eames
tag
Pontosítok egy példával:
Egy táblában vannak olyan oszlopok, hogy név, azonosító(kulcs), iroda1, iroda2, iroda3,... iroda n. A személyek nevei és azonosítói mellett pipálva van az adott iroda, ha belépési engedélye van, ha nem léphet be nincs pipa. Ezek az engedélyek változhatnak, és tudni kellene, ki mikor melyik irodába kapott engedélyt. Pl. xy mikor kapott belépést iroda3-ba, de ez nem biztos, hogy az utolsó módosítás mert lehet azóta iroda5 és iroda6-ba is beléphet.
Ebben az esetben hogy nézne ki az sql utasítás?
Nagyon nem erősségem az adatbázis, bocsánat ha nem egyértelmű. -
zolynet
veterán
-
zolynet
veterán
-
martonx
veterán
MS access-ben triggert nehezen fog csinálni.
Viszont ha egy kvázi log / history tábla kell, akkor tényleg csak egy plusz táblára lesz szükség, és a fő tábla update-elésekor, ebbe kell insertálni egy sort, ami mutatja a változást.
-
Peter Kiss
őstag
-
eames
tag
-
martonx
veterán
-
eames
tag
-
bambano
titán
-
eames
tag
Van egy adatbázis, az egyik táblában a rekordok logikai típusúak. Az lenne a feladat, hogy ha az egyik módosul (kipipáljuk vagy levesszük a pipát), akkor valahol mutassa a módosítás dátumát annál a rekordnál/rekordoknál amik módosultak. Megoldható valahogy?
-
sztanozs
veterán
-
martonx
veterán
-
Kommy
veterán
-
bpx
őstag
pont az amit ir a hiba
csak classid szerint megy a group by, ilyenkor a tobbi oszlopra "osszesito" fuggveny kell, pl. COUNT, MAX, vagy azokra is group by-olni kell
az a baj a lekerdezessel, hogy mivel a classification oszlopra egyik sincs, igy annak erteke nem determinisztikus
mysql sajnos megenged ilyen lekerdezest, mas adatbaziskezelok szerencsere nem -
Kommy
veterán
Sziasztok ezzel a lekérdezéssel mi a gond?
"SELECT classid, COUNT(racerid) as Riders, MAX(RaceGroup * 1) as MOTOS , classification FROM Rating r, Classes c WHERE c.id = r.classid AND eventid = " + eventID + " GROUP BY classid";
ezt a hibát kapom: Egy olyan lekérdezést próbált végrehajtani, amely nem tartalmazza a megadott kifejezést ('classification') egy összesítő függvény részeként.
A classification a Classes táblában van, ha kihagyon a clssification-t a lekárdezés kiíratásából akkor lefut.
-
csabyka666
veterán
Működik, frankó!

-
csabyka666
veterán
Köszi a választ mindkettőtöknek! Egyelőre nekem az a lényeg, hogy működjön. Nem probléma, ha nem hatékony az erőforrásokkal...stb.
A keresést illetően bőven elegendő, ha az "alma" kifejezésre megtalálja a szükséges sorokat.

-
Apollo17hu
őstag
SELECT * FROM tabla
WHERE UPPER(mezo) LIKE '%ALMA%' -
csabyka666
veterán
Üdv mindenkinek!
Azt szeretném kérdezni tőletek, hogyan lehet variálni a rész-stringekkel SQL-ben?
Csak azokat a sorokat szeretném kiszedni a táblából, amire (vagy aminek egy részére) ráillik egy adott kifejezés. Pl. ilyen sorok vannak a táblában, hogy
almafa
körtefa
almabor
meggyleves
almalé
és én azt szeretném elérni, hogy minden olyan sort visszaadjon, amiben bárhogyan is szerepel, hogy "alma". Ha egy az egyben beírom a cella tartalmát, úgy megtalálja, de nem várhatom el a felhasználótól, hogy 100% pontossággal beírja a cella tartalmát mondjuk egy keresőmezőbe. Gondolom értitek, mit akarok itt kinyökögni...Mi erre a legegyszerűbb megoldás?
Köszi a segítséget előre is!
-
Sk8erPeter
nagyúr
-
martonx
veterán
-
martonx
veterán
-
amargo
addikt
-
bpx
őstag
-
bambano
titán
-
eames
tag
Sok (több mint 30) excel táblázatból kéne egy jól átlátható adatbázist létrehoznom. Ezekből a táblázatokból van amit még több részre kell szedni, így lenne ~40 táblás az adatbázis. Nem vagyok otthon a témában, nem sok ez? Lehet majd vele dolgozni?
-
amargo
addikt
-
bambano
titán
-
amargo
addikt
-
martonx
veterán
MySql-lel (pedig 5.6-os verziót használunk per pillanat) sebesség tekintetében nekem is rossz tapasztalataim vannak. De lehet, hogy csak én nem értek hozzá eléggé. Konfigoltam, hangoltam, de igaziból nem nagyon lett jobb.
MS is ad rengeteg kedvezményt, az hogy papíron mennyibe kerülnek csak egy dolog.
-
bambano
titán
mikor legutoljára az ora.hu-tól kértem árajánlatot egy projektre, olyan számokat mondtak, hogy leestem a székről. megcsináltuk postgressel, erre elkezdtek kötözködni, hogy miért nem ora. hát azért, mert a teljes költségvetés hatszorosát kellett volna csak a db-re kiadni.
arra a feladatra, amire nekem kellett, a gyalog mysql gyorsabb volt, mint a gyalog pg, de elkezdtem behangolni mind a kettőt és a végén a pg porba alázta a mysql-t, pedig a mysql 8-as raid0-n volt, a pg meg sima diszken. akkoriban a mysql még tudott raidet, azóta ezt nem néztem.
már most tudom, mi lesz a következő néhány hsz tartalma

-
amargo
addikt
-
bambano
titán
amennyire követtem a dolgokat, normális clusterezési lehetőség csak a 9-es sorozatú pg-kben van, talán 9.3-tól. Azt nem tudom, rendes multimaster clustert lehet-e már építeni, egy master-sok slave cluster most már van.
A 8-as postgresekhez is volt külsős cluster szoftver, anno teszteltünk párat, nevetséges eredményt hozott. például ha session-id-t úgy akartál generálni, hogy volt benne random függvény is, akkor a cluster két darabján nem egyezett a két adat. now() függvény dettó. meg a tárolt procedúrákkal is baj volt.
"szerinted is"? én nem mondtam, hogy az oracle meg az mssql komolyan vehető adatbáziskezelő. az oracle tudását elismerem, de az árazása meg a ora.hu sales tevékenysége nálam több, mint kiütötte a biztosítékot.
a mysql-t nagyon régen teszteltem, lassú is volt, cserébe alap dolgokat sem tudott (ismétlem, a régi verzió), így nem foglalkoztam vele többet. meg amióta az ora felvásárolta, azóta a jövőjét elég ködösen látom.
nekem egy adatbáziskezelő van, ami komoly, a pg. minden hibája ellenére ezzel tudom legjobban megoldani a dolgaimat. (igen, van szubjektív rész is ebben a döntésben)
-
martonx
veterán
Pedig postgreSQL-lel is lehet clustert építeni. Sőt az ingyenes MySQL-el is.
Ettől függetlenül szerintem is Oracle és MS SQL a két komolyan vehető adatbázis szerver. Mondjuk az Oracle aranyárban van, bár talán nem is véletlenül adják annyiért.
Ami még nagyon jó alternatívája az ingyenes SQL-eknek, az a Microsoft féle Azure SQL, ami bérelhető MS SQL 2012 szerver, némi felhős butítással. Az enyém havi kemény 4 euróért, napi 9 millió rekordot fogad magába, hogy aztán 1 órán belül ezek nagy része törlődjön is, és még ehhez jönnek az egyéb queryzések. 4 euróért zseniális a teljesítménye. -
sztanozs
veterán
-
bambano
titán
-
sztanozs
veterán
-
Ispy
nagyúr
-
bambano
titán
-
sztanozs
veterán
-
Ispy
nagyúr
-
bambano
titán
olvasgatom ezt a remek mysql doksit, ilyenek vannak benne:
- az enumos oszlop típusa lehet string vagy int. remek.
- ha beszúrsz egy nemlétező értékkel rendelkező rekordot, akkor simán lecseréli üres stringre.
- számokat csak stringként lehet belerakni, így ha egy gyengén típusos nyelvvel kérdezed le, mint az nagy divat, akkor nem tudod eldönteni, hogy mit adott vissza az sql szerver.hát szóval lehet, hogy nem sért adatbázistervezési szabályt (egyelőre még nem találtam meg a bizonyítékot
), de hogy az implementációjától sírva kirohannék a világból, az biztos.
Új hozzászólás Aktív témák
-
2200 - 2101
6041 - 6001 6000 - 4001 4000 - 3901 3900 - 3801 3800 - 3701 3700 - 3601 3600 - 3501 3500 - 3401 3400 - 3301 3300 - 3201 3200 - 3101 3100 - 3001 3000 - 2901 2900 - 2801 2800 - 2701 2700 - 2601 2600 - 2501 2500 - 2401 2400 - 2301 2300 - 2201 2200 - 2101 2100 - 2001 2000 - 1901 1900 - 1801 1800 - 1701 1700 - 1601 1600 - 1501 1500 - 1401 1400 - 1301 1300 - 1201 1200 - 1101 1100 - 1001 1000 - 901 900 - 801 800 - 701 700 - 601 600 - 501 500 - 401 400 - 301 300 - 201 200 - 101 100 - 1
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Fórumok
- Szoftverfejlesztés
- SQL kérdések
- (kiemelt téma)
- Éjszakai műszak
- Spórolós topik
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Yettel topik
- Vezeték nélküli fejhallgatók
- Víz- gáz- és fűtésszerelés
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- A fociról könnyedén, egy baráti társaságban
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Abarth, Alfa Romeo, Fiat, Lancia topik
- További aktív témák...
- ÚJ RCB R10S ELEKTROMOS ROLLER kb 50% áron, dobozban, 3 hó gar.:
- Lenovo ThinkStation P330 Gen 2 Tower i7 / Xeon workstation /számla- garancia
- 27% - Samsung S49CG954SU OLED Monitor! 5120x1440 / 240Hz / 0.03ms / FreeSync
- REFURBISHED és ÚJ - HP USB-C Dock G5 (5TW10AA) - 3x4K felbontás
- BESZÁMÍTÁS! Asus Z390 i7 9700 32GB DDR4 512GB SSD RTX 2070 Super 8GB Phanteks Eclipse P360A 650W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
mySql?








