Összetett SQL lekérdezés
2011-06-25T14:39:42+02:00
2011-06-25T23:29:23+02:00
2022-06-29T09:30:34+02:00
  • Amikor írtad az UNION-os hsz-ed már megoldottam, de azért köszönöm ;)
    Mutasd a teljes hozzászólást!
  • Most mutatod, vagy sem?
    Itt egy MS forma:

    declare @ID int set @ID = 1 SELECT nev FROM kategoriak WHERE (szuloID = @ID) Union all SELECT cim as nev FROM cikkek where katID = @ID
    eredmény:
    nev nev3 nev4 cim3
    Mutasd a teljes hozzászólást!
  • Nem mutattam, mert ezt akartam törölni és helyébe a gyorsabb és egyszerűbb megoldást tenni. Nem befolyásolt volna semmit ha én ezt bemásolom vagy nem
    Mutasd a teljes hozzászólást!
  • Én ezt meg is oldottam 2 lekérdezéssel, 2 while ciklussal, de ez a megoldás lassabb mintha egyet használnék.

    De ezt a kódod még nem mutattad, igaz?
    Mutasd a teljes hozzászólást!
  • Saját ötlet.

    Azt szeretném megvalósítani, hogy egy adott kategóriába tartozó alkategóriák és cikkek megjelenjenek egy listában.

    Én ezt meg is oldottam 2 lekérdezéssel, 2 while ciklussal, de ez a megoldás lassabb mintha egyet használnék. :-/


    És igen... nem igaz, hogy ez az egyszerű megoldás nem jutott eszembe... UNION! Látszik, hogy sose volt még rá szükségem... egyszer megtanultam és el is felejtettem...

    Köszönöm szépen a segítséget!
    Mutasd a teljes hozzászólást!
  • Jogos.
    Csak azt áruld el, miért jó az ha egy oszlopban van szezon és fazon (nev3/nev4/cim3)?
    Egyébként egy tárolt eljárásban el tudom képzelni a megoldást
    pl. UNION-nal, csak jó lenne tudni, minek..
    Ez egy feladat, vagy saját ötleted?
    Mutasd a teljes hozzászólást!
  • Görgess kicsit lejjebb.
    Mutasd a teljes hozzászólást!
  • Amit én hoztam össze az is 2 SELECT 1 lekérdezésben

    Láthatnánk?
    Mutasd a teljes hozzászólást!
  • Tisztában vagyok vele. Amit én hoztam össze az is 2 SELECT 1 lekérdezésben.

    Valaki tudna segíteni? Nem kell nekem kész kód, elég ha szavakkal leírja valaki és én megírom...
    Mutasd a teljes hozzászólást!
  • Igen, 2 SELECT, de én egy lekérdezésbe akarom, nem pedig kettőbe.

    Bocsi, de a 2 select nem mindig jelent 2 lekérdezést..
    Mutasd a teljes hozzászólást!
  • Igen, 2 SELECT, de én egy lekérdezésbe akarom, nem pedig kettőbe.
    Mutasd a teljes hozzászólást!
  • Ebben az esetben mi az összetett a lekérdezésben?
    2, azaz kettő darab SELECT.
    Mutasd a teljes hozzászólást!
  • Átfutottam. Ezzel nem megyek sokra sajnos, mert én nem ezt szeretném megvalósítani... Mint írtam, 2 azaz kettő táblám van. Ez alapból egy táblát használ. És én nem is azt szeretném megoldani, hogy listázza egymás alá aktuális helyzetben egyel beljebb a neveket...

    Én azt szeretném, hogy pl a 3-as azonosítójú kategóriámba tartózó (csak a 3-asba!) kategóriákat és cikkeket listázza ki. Ezeknek a kilistázott kategóriáknak nem kell a bennük lévő kategóriákat is kilistáznia. De egyébként ezt a példám tökéletesen szemlélteti. Talán te voltál az aki nem nézte át alaposan a kérdésem... így meg talán nem kellett volna megmondanod, hogy felejtsem el ezt a szakmát...
    Mutasd a teljes hozzászólást!
  • Amit belinkeltél, azt még csak most fogom megnézni. Dolgom akadt, így el kellett mennem és csak arra volt időm, hogy válaszoljak rhinoeli kérdésére...

    A szakmát meg nem fogom elfelejteni, mert ahhoz már elég sokat tudok... a bonyolultabb sql lekérdezésekkel nem boldogulok, mert ritkán kell használnom.
    Mutasd a teljes hozzászólást!
  • Egy szót sem olvastál el abból amit belinkeltem? Igen csekély angol tudással is nagyon pontosan érthető. Gondoltam egyszer megszenvedsz vele aztán tudni fogod rendesen. Ezek szerint kb 1 órás ráfordításra sem vagy hajlandó ami azt jelenti hogy felejtsd el ezt a szakmát.
    Mutasd a teljes hozzászólást!
  • Azért a társalgóba írtam, mert ez nem egy célzott téma, így ha valaki másnak is gondja van a bonyolult lekérdezésekkel akkor nem kell nyitni hasonló nevű új témát, hanem ide felteheti. Gondoltam én.

    Ez az utolsó verzió amivel próbálkoztam:

    $Query = mysql_query("SELECT c.cim as nev, k.nev FROM cikkek as c, kategoriak as k WHERE k.szulo=$katId AND c.kategoria_id IN (SELECT kategoria_id FROM kategoriak WHERE kategoria_id=$katId)");

    De ez a kategória neveket írja ki többször :-/ A cikkeket viszont egyszer se :-/
    Mutasd a teljes hozzászólást!
  • 1. Ez tudástár téma
    2. Hogyan próbáltad, hol akadtál el?
    Mutasd a teljes hozzászólást!
  • Ezt rekurzív lekérdezés, hierarchikus select és hasonló címszavakban tudod megkérdezni a gugliban a bingben és még ki tudja mikben. A kódot nem írom le dolgozz kicsit rajta. de adok egy linket ami alapján hamar megérted : hierarchikus adat menedzselése. Amit beírtam az standard sql, de sok adatbáziskezelő ma már specifikus parancsoakt tartalmaz, pl. start with, level .....
    Mutasd a teljes hozzászólást!
  • Sziasztok!

    Van 2 táblám, névszerint: kategoriak, cikkek

    kategotiak tábla:
    id - nev - szulo
    1 - nev1 - 0 // ahol nulla az főkategória
    2 - nev2 - 0
    3 - nev3 - 1
    4 - nev4 - 1
    5 - nev5 - 2

    Tehát ez egy fa szerkezetű felépítés lenne.

    cikkek tábla:
    id - cim - kategorai_id
    1 - cim1 - 2
    2 - cim2 - 2
    3 - cim3 - 1
    4 - cim4 - 5

    Azt szeretném, hogy pl az 1-es id-vel rendelkező kategóriába tartozó kategóriákat és cikkeket kérdezze le az sql kód.
    Sajnos az összetettebb lekérdezések még nem nagyon mennek :-/

    Tehát végeredményképp ezt szeretném kapni:

    nev3
    nev4
    cim3

    A segítséget előre is köszönöm! :)
    Mutasd a teljes hozzászólást!
Ez a téma lezárásra került a moderátor által. A lezárás oka: Tud�st�rba vele...
abcd