- iPhone topik
- Android alkalmazások - szoftver kibeszélő topik
- Honor 400 - és mégis mozog a kép
- Xiaomi 13 - felnőni nehéz
- Honor 200 - kétszázért pont jó lenne
- Hónap végén érkezik a Xiaomi Band 10, ára is van
- Samsung Galaxy A54 - türelemjáték
- Fotók, videók mobillal
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Fényképek a Honor Magic V5-ről
Új hozzászólás Aktív témák
-
bsh
addikt
üdv,
új kérdésem lenne, még az előbbi "projekthez". a bonyolult sok joines lekérdezés már frankón működik (és gyors is), de még kéne bele egy dolog, és ezt nem bírom megoldani.
adott egy tábla, amiben pdf fájlok helyei vannak (így gyorsabb mint fájlrendszerben keresgélni). van ebben egy RelativePath oszlop, ami ez elérési út fájlnév nélkül UNC formában, egy FileName oszlop, ami csak maga a fájlnév rész, és egy LatModified oszlop a fájl dátumával.
egy adott tétel pdf-jének a fájlneve elvileg 'rajzszám'+'revízió'+'.pdf' mintával generálható és lekérdezhető a táblából, hogy hol van a fájl.
több ugyanolyan nevű fájl is van (sajnos), különböző elérési utakon. ezekből úgy szoktam lekérdezni, hogy LastModified szerint csökkenő sorrendbe rendezve, és a legelső találat akkor a legújabb verziója a fájlnak.SELECT RelativePath, FileName, LastModified FROM pdflist WHERE FileName = 'valamiizébigyó.pdf' ORDER BY LastModified DESC LIMIT 0,1;
ezt kéne valahogy join-nal beintegrálni a nagy bonyolult lekérdezésbe. ezt így próbáltam:
LEFT JOIN (SELECT FileName, CONCAT(RelativePath, '\\', FileName) AS hely FROM `pdflist` ORDER BY LastModified DESC) pdf ON pdf.FileName = CONCAT(t.rajzszam, t.revizio, '.pdf')
ezzel az a baj, hogy így visszaadja az összes találatot, ha több ugyanolyan fájlnév is van, nem tudom hogy lehetne itt is megoldani, hogy csak egy találatot adjon vissza fájnevenként. a LIMIT nem jó. próbáltam GROUP BY FileName is...
a másik probléma hogy ez így tetű lassú. -
bsh
addikt
válasz
instantwater #2168 üzenetére
és az miért lesz úgy jobb?
-
bsh
addikt
válasz
instantwater #2166 üzenetére
egy szállítólevél több több rendeléshez is tartozhat, mivel egy megrendelés kb. mindig több tételből áll (azaz több sor a táblában). ezeket ahogy egy nagyobb részmennyiség kész van és kiszállítható, csomagolják és egy fuvarlevéllel szállítják ki, de sokszor van olyan, hogy tételekre várni kell, ezért ezeket később egy másik fuvarlevéllel szállítják ki, és olyan is van, hogy mondjuk egy vagy több tételből csak X mennyiség van raktáron, ezeket kiszállítják, a maradékot meg később, amikro a hiányzó mennyiség beérkezik, akkor újabb szállítóval szállítják ki.
magyarán: egy szállítólevéhez több tétel is tartozhat (ez nem probléma), és egy tételhez tartozhat több szállítólevél is (jelen esetben max. 3)
próbáltam még olyat is, hogy:
... LEFT JOIN `szallitolevelek` sz ON m.Kisz1_flev = sz.id OR m.Kisz2_flev = sz.id OR m.Kisz3_flev = sz.id
de az úgy nemjó.
végülis működik a dolog, csak nem tudom, lehet-e "szebben". -
bsh
addikt
válasz
instantwater #2164 üzenetére
SELECT (...) m.Kisz1_menny, m.Kisz1_datum, sz1.szam as Kisz1_flev, sz1.hely as Kisz1_hely, m.Kisz1_szla, m.Kisz2_menny, m.Kisz2_datum, sz2.szam as Kisz2_flev, sz2.hely as Kisz2_hely, m.Kisz2_szla, m.Kisz3_menny, m.Kisz3_datum, sz3.szam as Kisz3_flev, sz3.hely as Kisz3_hely, m.Kisz3_szla FROM `megrendelesek` m LEFT JOIN `szallitolevelek` sz1 ON m.Kisz1_flev = sz1.id LEFT JOIN `szallitolevelek` sz2 ON m.Kisz2_flev = sz2.id LEFT JOIN `szallitolevelek` sz3 ON m.Kisz3_flev = sz3.id WHERE m.id > 0;
ez csak a kérdéses rész, a többit kitöröltem. -
bsh
addikt
sziasztok.
lenne egy problémám, amit ugyan megoldottam, de nem biztos, hogy ez a jó/legjobb megoldás. ebben kérnék segítséget.
van egy tábla, amolyan megrendelés-áttekintő-összefoglaló akármi, aminek a lekérdezésekor több másik táblából jönnek product id-k, számlák, stb, több join is van. a probléma az ,hogy a megrendeléske kiszállításáról szállítólevelek is egy táblából jönnek. viszont előfordulhat olyan, hogy egy megrendelést több részletben szállítanak ki, ekkor több szállítólevél is tartozhat egy megrendeléshez. ezért minden megrendelés sorhoz 3 oszlop van, 3 lehetséges rész-kiszállítási szállítólevéllel. de ezek mind ugyanabból a táblából jönnek.
ezt úgy tudtam megoldani, hogy a lekérdezésben a szállítóleveles tábla háromszor is join-elve van, mindig az id oszlop, de 3 külön néven.
erre van esetleg más egyszerűbb megoldás? vagy ez így normális?
Új hozzászólás Aktív témák
Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- AMD Navi Radeon™ RX 9xxx sorozat
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- SkyShowtime
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Internet Rádió építése (hardver), és programozása
- Autós topik látogatók beszélgetős, offolós topikja
- Kerékpársportok
- Mielőbb díjat rakatnának a görögök az olcsó csomagokra az EU-ban
- További aktív témák...
- HP Laptop 15-fc0026nh (AY7E1EA)
- Készpénzes számítógép PC félkonfig alkatrész hardver felvásárlás személyesen / postával korrekt áron
- A Panasonic Toughbook CF-54 i5-5300u i5-6300u TN, IPS touch Budapest, MPL Foxpost
- ÁRCSÖKKENTÉS Dell Latitude E6320 notebook eladó
- PlayStation Network Card (PSN) ajándékkártyák, egyenesen a Sony-tól!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest