Hirdetés

Keresés

Aktív témák

  • sirius_01

    csendes tag

    válasz sirius_01 #1 üzenetére

    Kicsit elcsúsztak a táblák, szóval:

    1.tábla
    sorszám -- adat
    1 -- a
    2 -- b
    3 -- c
    4 -- d

    2. tábla:
    azon -- id kulcs
    10 -- 1
    10 -- 2
    10 -- 3
    11 -- 2
    11 -- 3
    12 -- 1
    12 -- 2
    12 -- 4
    13 -- 1
    13 -- 3

  • sirius_01

    csendes tag

    Sziasztok !
    Nemrég óta vagyok regisztrált, és kérdezni se szoktam, ott a google :)
    Az sql-ben eddig mindent meg tudtam oldani. Tehát a táblák összerakásával tisztában vagyok, hogy célszerű.

    De most megakadtam, remélem tudtok segíteni.
    A lényeg a kövektező:
    van két sql táblám, lényegtelen, hogy miben.
    Az első tábla lehet nem szükséges, de ebben tárolom az adatokat,
    a második meg ezt fogja össze egy másik logikai szinten.

    Az egyik tábla a következőképpen néz ki lényegileg:
    2 oszlop, egyikben adat (az adat is mindíg különbözik) másikban egy számláló

    a másikban meg ugyancsak két oszlop
    az első oszlop, egy a sorra jellemző azonosító, mely ismétlődhet (sőt, a lényege az ismétlődés)
    a második oszlop meg az első tábla számlálójának az idegen kulcsa.

    pl.:

    1. tábla
    sorszám adat
    1 a
    2 b
    3 c
    4 d

    2. tábla:
    azonosító (nem egyedi) idegen kulcs (1.tábla sorszámára)
    10 1
    10 2
    10 3
    11 2
    11 3
    12 1
    12 2
    12 4
    13 1
    13 3

    Ezek után a problémám ott kezdődik, hogy szeretnék egy szűrést arra, hogy melyek azok a sorok 2. táblából melyek tartalmaznak bizonyos számokat az idegen kulcs oszlopban. (Ha ez megvan, akkor azonnal össze tudom kötni az első táblában lévő adatokkal)
    Tehát pl.: mely sorok azok, amik tartalmazzák, a 2. táblából az 1-es és a 2-es idegen kulcsot. (többet tartalmazhat, csak kevesebbet nem)
    Erre ugye a jó válasz, az hogy kilistázza a 10-es azonosító mind3 sorát, hisz tartalmazza az 1-est, és a 2-est is, és még többet is, és kilistázza a 12-es azonosító mind2 sorát.

    azaz ezt kéne kapnom:
    10 --- 1
    10 --- 2
    10 --- 3
    12 --- 1
    12 --- 2

    De itt úgy látszik megállt a tudásom.

    A válaszokat előre is köszönöm

    üdv.: Zsolti

    [ Szerkesztve ]

Aktív témák