Eredmény: 1 - 4 (4) összesen

Téma: Allekérdezés kérdés

  1. #1
    Tag
    Csatlakozott
    10-07-26
    Hozzászólás
    78
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás Allekérdezés kérdés

    Azt a lekérdezést szeretném megvalósítani egy zeneszámok adatait tartalmazó adatbázisban ( egytáblás ), hogy az összes előadóból válasszon ki 5-öt és ezen előadóknak zeneszámaiból válasszon ki egyet-egyet.
    Így néz ki (eddig) a lekérdezésem:

    Kód:
    SELECT eloadok_szukitett.eloado, (SELECT cim FROM zene WHERE zene.eloado=eloadok_szukitett.eloado ORDER BY rand() LIMIT 1) as kezdozenek from (SELECT DISTINCT eloado FROM zene ORDER BY rand() LIMIT 5) eloadok_szukitett
    Így viszont nem tudom pl. az azonosito mezőt "kiszedni".
    Hogyan lehet megkapni a lekérdezés összes mezőjét?



  2. #2
    Bölcs benedictus logója
    Csatlakozott
    10-04-23
    Hozzászólás
    1.574
    Begyűjtött 2 köszönetet
    2 hozzászólásával

    Alapbeállítás re: Allekérdezés kérdés

    SELECT * FROM ...
    vagy
    SELECT cim,eloado,egyebszuksegesadat FROM ...



  3. #3
    Tag
    Csatlakozott
    10-07-26
    Hozzászólás
    78
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: Allekérdezés kérdés

    Idézet benedictus eredeti hozzászólása Hozzászólás megtekintése
    SELECT * FROM ...
    vagy
    SELECT cim,eloado,egyebszuksegesadat FROM ...
    Ha elkezdem így felsorolni tesztelve mondjuk a phpMyAdmin-ba, akkor ezt a hibaüzenetet adja:
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT * FROM zene WHERE zene.eloado=eloadok_szukitett.eloado ORDER BY rand() LI' at line 1




  4. #4
    Új tag
    Csatlakozott
    11-01-29
    Hozzászólás
    28
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: Allekérdezés kérdés

    phpMyAdmin-ban bal oldalt válaszd ki a zene nevű táblád, és kattints felül a "Tartalom" nevű fülre. Akkor a Tartalom gomb alatt látszani fog a lefutott sql parancs, valami ilyen:
    Kód:
     SELECT *
    FROM `zene`
    LIMIT 0 , 30
    Jobbra tőle lesz egy "szerkeszt" gomb, így a lekésést utána bővítgesd szépen lassan, amíg eléred a megfelelő dolgot. Szerintem valami ilyesmit akarhatsz:

    Kód:
    SELECT * FROM `zene`, `eloadok_szukitett` WHERE `eloadok_szukitett`.`eloado ` = `zene`.`eloado` ORDER BY rand() LIMIT 1
    • Limit 1 --> 1 darab eredményt ad vissza.
    • Figyuzd meg az aposztrófokat, amik ide kellenek phpMyAdmin-ba, balra dőlő és nem pedig álló aposztrófok!
    • A select * from után fel kell sorolni az összes táblát, amiből az eredményt ki akarod kalkulálni. (vagy subquery-be kell tenni). Nálad nem szerepelt a "eloadok_szukitett" nevű tábla.
    • Most kb ennyi




A téma címkéi:

Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •