- Nem állnak jól az Apple Watch számai
- Google Pixel 9 Pro XL - hét szűk esztendő
- Hivatalos a OnePlus 13 startdátuma
- Samsung Galaxy S23 Ultra - non plus ultra
- Hammer Construction 2 Thermal 5G - építő jellegű kritika
- Okosóra és okoskiegészítő topik
- One mobilszolgáltatások
- Samsung Galaxy A54 - türelemjáték
- Honor Magic6 Pro - kör közepén számok
- Apple Watch Ultra - első nekifutás
Új hozzászólás Aktív témák
-
Apollo17hu
őstag
válasz
eziskamu #548 üzenetére
Igazából munkához kell, egy bonyolultabb lekérdezést egyszerűsítettem erre a problémára. Mint írtam, nem vagyok járatos a témában, ehhez hasonló problémával még nem találkoztam. Azért remélem, menet közben belerázódom, és sokat tanulok az ilyen megoldásokból.
Itthonról próbálgattam most MS Access-ben. Munkahelyen PL/SQL-ben dolgozunk.
-
Apollo17hu
őstag
válasz
eziskamu #547 üzenetére
Neked is köszönöm a segítséget.
Végül a lekérdezés és az allekérdezés WHERE záradékába is beleírtam a feltételt. Ha kihagyom az allekérdezésből, úgy hibásan kidob olyan eltéréseket is, aminek nem kéne szerepelnie. Remélem, jól csináltam. Valahogy így néz ki tehát:
SELECT DISTINCT t.A, t.B, t.C
FROM t, (SELECT t1.A AS A1, t1.B AS B1, t1.C AS C1
FROM t t1
WHERE t1.C IN (1, 2)) t2
WHERE t.A = t2.A1 AND
t.B <> t2.B1 AND
t.C IN (1, 2) -
eziskamu
addikt
válasz
Apollo17hu #545 üzenetére
De mégis milyen rendszeren/környezetben futtatod/ellenőrzöd a lekérdezést? Távoli eléresed van iskolai szerverhez? Asszem olyan, hogy csak SQL nincs, kis mértékben mindegyik gyártó eltér valamennyire az eredeti SQL-től (de hogy mi is az eredeti, mármint, hogy egy konkrét gyártó vezette-e be vagy szakértői csoportok hozták össze, őszintén nem tudom), valamint gyakran kibővítik például eljárásorientált programozási lehetőségekkel. Létrehozhatsz fügvényeket, eljárásokat, és tán még a triggerek is ide tartoznak, de ebben nem vagyok biztos, hova is sorolják hivatalosan.
-
eziskamu
addikt
válasz
Apollo17hu #546 üzenetére
Igen B1 a végén. Hát ha olyan sorokat keresel amik megfelelnek az első feltétetlednek és még a C oszlop beli értékeik is megfelelnek valaminek, akkor AND valami
-
Apollo17hu
őstag
válasz
eziskamu #542 üzenetére
Akkor ez úgy működik, hogy a DISTINCT segítségével az A és B oszlopokból kulcsot képezünk, aminek a sorait az eredeti tábla soraival hasonlítjuk össze?
És ha lenne egy C oszlop, aminek az elemeire egy sima WHERE szűrést kell még alkalmazni, akkor ez a szűrés mehet a teljes lekérdezés végére egy AND operátorral bekapcsolva?
-
Jester01
veterán
válasz
Apollo17hu #541 üzenetére
Hát mert nem mondtad milyen adatbázisod van ... mysql esetén működik, kipróbáltam.
-
eziskamu
addikt
válasz
Apollo17hu #541 üzenetére
Ez se bizti, hogy jó, de próba szerencse
SELECT DISTINCT t.A, t.B FROM t, (SELECT t1.A AS A1, t1.B AS B1 FROM t t1 ) t2 WHERE t.A=t2.A1 AND t.B <> t2.B2 -
Jester01
veterán
válasz
Apollo17hu #539 üzenetére
SELECT A FROM t GROUP BY A HAVING COUNT(DISTINCT B) > 1
Ez persze az A értékeket adja meg, de innen gondolom már megy.
-
Apollo17hu
őstag
Hali!
Van egy táblám (t) két oszloppal (A és B).
Elvileg A és B között 1-1 kapcsolatnak kellene lennie. Ha valamely A érték ismétlődik, akkor a sorában a B is ismétlődik.
Kérdés: hogyan tudom kikeresni az eltérő B értékeket?pl.: A - B
xxx - 11
xxy - 18
xxz - 202
yyx - 22
yyx - 22
zzz - 89
zzz - 81
zzx - 12Tehát itt az A oszlopbeli "zzz" értékek mellett kétféle B oszlopbeli érték tartozik, pedig ugyanannak kéne lenniük. Az ilyen - hibás - értékeket szeretném lekérdezni. Hogyan tegyem?
-
rum-cajsz
őstag
Sajnos nem tudom hogy lehet összehasonlítani MYSQL adatbázis struktúrákat, de ha a struktúrák egyeznek, de nem azonos a joomla verziód, én nem próbálkoznék az adatbázis felülírásával, mert még ha el is indul az oldal kérdés, hogy nem írtál-e felül valamilyen rendszerbeállítást, ami az adatbázison belül tárolódik.
Én inkább egy konverzióval próbálkoznék a helyedben.
Megkeresni melyik táblában tárolja a cikkeidet, és azokat insertel direkben beletenni a jelenlegi adatbázisba. (persze itt is figyelni kell az integritás megőrzésére, például az egyedi kulcsokra) -
rebugra
aktív tag
Sziasztok. A helyzet a következő. Van egy joomla oldalam, amit megszüntettem, lementettem a mysql adatbázisát (exportlással). Vettem új domaint, feltelepítettem a joomolát, ugye az létre hozott egy új adatbázist. Azt is lementettem. Szóval van egy régi, és egy új adatbázisom. Na most a kérdés: Hogy lehet összehasonlítani a kettőt hogy mi hiányzik az újból? Avagy ha össze másolom őket, és az FTP-n is megmarad a könyvtár struktúra, akkor van rá esély, hogy vissza nyerjem a régi oldalam formáját? Azaz ne kelljen begépelni újra mindent (képek, cikkek, stb...)
-
cucka
addikt
MySQL támogatja a reguláris kifejezéseket, de valószínűleg más, elterjedt adatbázisok szintén. Nézz utána. Komolyan, legyél már annyira igényes legalább magaddal szemben, hogy nem elégszel meg ilyen hányadék megoldásokkal, mint amit mutattál.
Vagy esetleg hogy kéne php-val megoldani?
Mysql-re:
//kapcsolodsz az adatbazishoz
$res=mysql_query("select id, mezo from tablanev order by id asc");
while ($row=mysql_fetch_assoc($res)){
mysql_query("update tablanev set mezo='".str_repeat('1',strlen($row['mezo'])).'" where id='{$row['id']}'";
} -
s7or4x
csendes tag
Üdv!
Már sikerült megoldanom így:
update tablanev set mezo = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
mezo ,'1','1'),'2','1'),'3','1') ,'4','1'),'5','1'),'6','1') ,'7','1'),'8','1'),'9','1'),'0','1');Így úgye ami mondjuk 3456 volt az 1111 lett ezután tovább cseréltem.
update tablanev set mezo = REPLACE(
mezo ,'11','1');update tablanev set mezo = REPLACE(
mezo ,'111','1');update tablanev set mezo = REPLACE(
mezo ,'1111','1');Kicsit primitív
De végül is így minden hol sikerült az értéket 1-re állítanom.
-
s7or4x
csendes tag
Üdv!
Lenne egy keres-cserél kérdésem.
UPDATE tablanev SET mezo = REPLACE( mezo, '33', '1' )
Most ugye ez a sorozat lecseréli az adott mezőben az összes 33-as számot 1-re.
A kérdésem, hogy írjam meg, hogy az összes számot cserélje 1-re?
Azaz:
UPDATE tablanev SET mezo = REPLACE( mezo, 'összes szám', '1' )
Valami ilyesmire lenne szükségem.
Vagy van olyan program amivel végrehajtható a keres-cserél egy mezőn belül?
Vagy esetleg hogy kéne php-val megoldani?
Több mint 1,000 soron kéne cserélni ezért kéne egy egyszerű megoldás.
Köszönöm!
-
mérienn23
csendes tag
nevek kutya cica papagáj
marci i i i
béla i i
dia i
orsi i
ági iilyet tudunk csinálni amúgy?
mátrixot?
nem tudom,hogy látszik-e normálisan a formátum!?
vagyis az oszlopnevek legyenek az állatnevek,és a sorok,pedig az embernevek és jelöljük mondjuk i-vel,hogy kinek milyen állata van.aha,gondoltam,hogy fog jól látszani a formátum,de biztos tudod,mire gondolok.
-
mérienn23
csendes tag
fúú,köszi a gyors választ,nagyon rendi vagy
és képzeld,én is erre tippeltem magamtól -
Lortech
addikt
válasz
mérienn23 #525 üzenetére
csak kutya és cica:
select count(distinct nev) from tabla where
nev in (select distinct nev from tabla where nev in
(select distinct nev from tabla where allat = 'kutya') and allat = 'cica') and nev not in (select distinct nev from tabla where allat not in ('kutya','cica'))a többi esetet rádbízom.
-
mérienn23
csendes tag
és még kérdezhetek egyet?
-hány olyan emberke van,akinek CSAK kutyája és cicája van?
-akinek CSAK kutyája és papagája van?
-akinek CSAK cicája és papagája van? -
mérienn23
csendes tag
köszi szépen a segítéséget!
-
Lortech
addikt
válasz
mérienn23 #521 üzenetére
1,
select count(*) elso_valasz from
(select nev, count(allat) kutyak_szama from tabla where allat = 'kutya' group by nev) kutyak join
(select nev, count(allat) allatok_szama from tabla group by nev) allatok on kutyak.nev = allatok.nev
where allatok_szama = kutyak_szama2,
select count(*) masodik_valasz from
(select nev, count(allat) kutyak_szama from tabla where allat = 'cica' group by nev) kutyak join
(select nev, count(allat) allatok_szama from tabla group by nev) allatok on kutyak.nev = allatok.nev
where allatok_szama = kutyak_szama3,
select count(*) harmadik_valasz from
(select nev, count(allat) kutyak_szama from tabla where allat = 'papagáj' group by nev) kutyak join
(select nev, count(allat) allatok_szama from tabla group by nev) allatok on kutyak.nev = allatok.nev
where allatok_szama = kutyak_szama4, select count(*) negyedik_valasz from (select distinct nev from tabla where nev in (select nev from tabla where allat = 'cica') and allat = 'kutya')
5, select count(*) otodik_valasz from (select distinct nev from tabla where nev in (select nev from tabla where allat = 'cica') and allat = 'papagáj')
6, select count(*) hatodik_valasz from (select distinct nev from tabla where nev in (select nev from tabla where allat = 'kutya') and allat = 'papagáj')
7, select count(*) from (select distinct nev from tabla where nev in (select nev from tabla where nev in (select nev from tabla where allat = 'cica') and allat = 'kutya') and allat = 'papagáj')
höhö, 3 sör után,
ja és sok sikert a tanárodnak. -
mérienn23
csendes tag
valaki vállal egyébként magánórákat?sql-re gondolok,viccen kívűl.
érdekelne budapesten.Köszi,
Üdv,
Mérienn -
mérienn23
csendes tag
Sziasztok!
Én is szeretnék egyet kérdezni,nagyon-nagyon hálás lennék,ha valaki segítene!
Van egy tábla,persze most kitalált:
két oszlopa van,név és állat.
a nevek:marci,béla,dia,orsi,ág
az alábbi állataik vannak,de pl.áginak két cicája is van és két soron szerepel,és marcinak pedig mindhárom állatkája van.a kérdés,hogy hány olyan ember van:
-akinek csak kutyája van
-akinek csak cicája van
-akinek csak papagája van,
-akinek van cicája és kutyája,
-akinek van cicája és papagája,
-akinek van kutyája és papagája,
-akinek van mindhárom állatkája?nev allat
marci kutya
marci cica
marci papagáj
béla papagáj
béla kutya
dia kutya
orsi papagáj
ági cica
ági cicaSzóval milyen lekérdezést lehet erre írni?
Arra is gondoltam,hogy már az is könnyebbség lenne,ha vmi mátrixos szerkezetet ki lehetne hozni belőle.Köszönöm a segítséget előre is,nagyon remélem,hogy Ti tudjátok!
Üdv,
Mérienn23 -
rum-cajsz
őstag
nem tudom pontosan mit szeretnél, de megoldás lehet a date_trunc és a between is
date_trunc(text, timestamp)
pl:
date_trunc('day', timestamp '2001-02-16 20:38:40') ----> 2001-02-16 00:00:00Az összes dátum függvényt itt találod:
Postgresql KK -
tildy
nagyúr
postgresben hogy lehet dátumra likeolni? ahogy megszoktam mysql alatt, úgy itt nem működik
-
vakondka
őstag
Az lenne az én nagy kérdésem, hogy a php-mysql páros mennyi adatot tud tárolni, kezelni anélkül, hogy jelentősen lelassulna ?
A vevő adatbázisom már 10.000 rekordot tartalmaz a rendelési tételek, pedig közel 25.000-et.
Attól félek, nehogy valami baj legyen a közeljövőben...Ui: természetesen normális fizetős szerveren fut a weblap.
-
Donee
csendes tag
Sziasztok!
Lenne egy kérdésem:
Van rengeteg táblám, és meg kellene keresnem azokat a táblákat, amikben van egy adott nevű oszlop (pl. egyszerűség kedvéért table_name).Milyen select-vel lehet ez?
Esetleg oracle-ben?
-
Jester01
veterán
válasz
vakondka #510 üzenetére
A join miatt termék-attribútum párokat kapsz, mégpedig annyit ahány egyezés volt az attribútum (tehát nem a termék!) szerint. Azt kell megnézni, hogy melyik termékhez van pontosan annyi sor ahány feltétel volt, ezért van a group by és a having. Ha lehagyod azt a részt akkor láthatod hogy néz ki a join eredménye. Ha több feltételed van, akkor azt a kettes számot ott át kell írni értelemszerűen.
-
Jester01
veterán
válasz
vakondka #508 üzenetére
Szerintem elég lesz 1 join is.
SELECT pef.products_id
FROM products_to_products_extra_fields pef
LEFT JOIN products p ON p.products_id = pef.products_id
WHERE
(pef.products_extra_fields_id = 2 AND pef.products_extra_fields_value = 'piros') OR
(pef.products_extra_fields_id = 4 AND pef.products_extra_fields_value = '3')
GROUP BY pef.products_id
HAVING count(*) = 2 -
vakondka
őstag
válasz
vakondka #507 üzenetére
Már 2-vel sem műxik
SELECT pef.products_id, pef.products_extra_fields_value
FROM products p
LEFT JOIN products_to_products_extra_fields pef ON p.products_id = pef.products_id
WHERE pef.products_extra_fields_id =2
AND pef.products_extra_fields_value = 'piros'
LEFT JOIN products_to_products_extra_fields pef ON p.products_id = pef.products_id
WHERE pef.products_extra_fields_id =4
AND pef.products_extra_fields_value = '3' -
vakondka
őstag
Kellene írnom egy sql-t ami termékek között keres az adatbázisban,
úgy hogy egy másik táblából rendeli hozzá a termék tulajdonságokat.
Ha csak 1 termék tulajdonság van akkor összejön a dolog egy left join-al,
viszont nem tudom hogy kellene összehozni, ha más termék tulajdonságok is vannak.Ez jól kiírja nekem, ha van olyan termék ami piros.
A 2-es id jelenti azt hogy az adott tulajdonság amit keresek az szín és a szín piros,
vagyis megkapom azokat a termék id-ket amelyek pirosak:SELECT pef.products_id, pef.products_extra_fields_value
FROM products p
LEFT JOIN products_to_products_extra_fields pef ON p.products_id = pef.products_id
WHERE pef.products_extra_fields_id =2
AND pef.products_extra_fields_value = 'piros'Viszont egyszerre lehet maximum 4 termék tulajdonság is, 1-4 vannak hozzá tartozó értékek a products_extra_fields_id mezőben.
A kérdés hogy lehetne így többszörösen összefűzni ha esetleg mind a 4 adatot megadják ?
-
attiati
veterán
Szerintetek egy 20gigás (vagy még nagyobb) adatbázis kezelésénél melyik alkatrész bővítése hoz látványos gyorsulást? Memóriát, vagy procit szereti? (exportálni, importálni, és beolvasni is szoktam az adatbázisból)
-
lazlo8
tag
hello lenne egy sűrgős sql kérdésem.
adva van ms access 12 000 rekord . 2 oszlop van. egyik oszlopban 0-100ig vannak számok. másik oszlop futo sorszám.
erre kéne egy sql lekérdezést irnom ami 0-10 , 11--20. 21-30 , 31-40, 41-50,51-60 stb. csoportokba rendezi a 2. oszlopot és hozzá rendeli a futo sorszámot.
ötletek? mert nekem ez nem sikerül
tudom béna vok.
ezt találtam
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name ez jo lenne? csak a 0-10 es csoportosítást nemtudom h van.. -
DopeBob
addikt
Sziasztok,
SQL Server Express 2005-el kapcsolatban lenne egy kérdésem. Adott egy TrendMicro porxy, aminek a futtatásához ez feltétel, ide kerülnének a logok. Telepítéskor feltelepít egy példányt, létrehozza az adatbázisát, eddig ok.
Viszont egy szöveges log ilyen hibaüzenetekkel van tele:
Error: [Microsoft][ODBC SQL Server Driver][SQL Server]Code page 852 is not supported by SQL Server
Teljesen egyértelmű mi a gond, viszont nem tudom, hogy tudok hozzáadni kódlapot
Nem foglalkoztam még vele, és ahogy nézegettem, csak parancssori admin része van.
Előre is köszönöm a segítséget.
Új hozzászólás Aktív témák
- ÁRGARANCIA! Épített KomPhone Ryzen 7 9700X 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- AKCIÓ! MSI B450M R5 5500 16GB DDR4 512GB SSD GTX 1070 8GB Rampage SHIVA Kolink KL 500W
- BESZÁMÍTÁS! 1TB WD Black SN750 NVMe SSD meghajtó garanciával hibátlan működéssel
- LG 65" C1 OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070 GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest