Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Join su tre tabelle + una :(

    Ciao.
    Spiego il significato del titolo.
    Adesso faccio questa query:
    SELECT * FROM show_game
    e recupero game_category_id e game_id
    poi
    SELECT c.game_category_name, c.game_category_flags, g.game_name, q.question_content
    FROM game_category AS c
    INNER JOIN game AS g ON c.game_category_id = g.game_category_id
    INNER JOIN question AS q ON g.game_id = q.game_id
    WHERE g.game_category_id =10
    AND g.game_id =8
    ORDER BY q.question_id ASC;
    per recuperare tutti i valori di question_content.
    Esiste un modo per fare una query unica ?
    (E' questo che non riesco a fare )
    Esiste una query migliore ?

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  2. #2

    ........

    Uhm ......... bastava un po +
    di impegno :
    SELECT s.game_category_id, s.game_id, c.game_category_name, c.game_category_flags, g.game_name, q.question_content
    FROM game_category AS c
    INNER JOIN show_game AS s ON c.game_category_id = s.game_category_id
    INNER JOIN game AS g ON c.game_category_id = g.game_category_id
    INNER JOIN question AS q ON g.game_id = q.game_id
    WHERE g.game_category_id = s.game_category_id
    AND g.game_id = s.game_id
    ORDER BY q.question_id ASC
    Sarei molto contento se qc mi confermasse
    questo lampo di 'genio' non vorrei fare il
    con una query importante per lo script !


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  3. #3
    fai prima a provarla con il client sql
    ciao

  4. #4

    ............

    fai prima a provarla con il client sql
    Andare va ma esplorando terreni per me
    poco conosciuti ho sempre paura di fare
    del c....o





    Ps.
    Per dire anche una query
    con la differenza con un campo
    datetime funzionava ma Piero.Mac
    è rabbrividito a vedere una simile
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  5. #5
    rabbrividito non credo ... a meno che non faccia freddo..

    mentre ci sei dai una occhiata a questo e dimmi se trovi qualcosa di strano:

    codice:
    FROM game_category AS c
    INNER JOIN show_game AS s ON c.game_category_id = s.game_category_id
    INNER JOIN game AS g ON c.game_category_id = g.game_category_id
    INNER JOIN question AS q ON g.game_id = q.game_id
    WHERE g.game_category_id = s.game_category_id

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6

    ..............

    Ciao.
    Grazie molte per la reply.
    SELECT *
    FROM game_category AS c
    INNER JOIN show_game AS s ON c.game_category_id = s.game_category_id
    INNER JOIN game AS g ON c.game_category_id = g.game_category_id
    INNER JOIN question AS q ON g.game_id = q.game_id
    WHERE g.game_category_id = s.game_category_id
    Tutto a posto
    Adesso sorge un altro problema se ad esempio
    do la possibilità all'utente di scegliere la categoria
    di gioco dovrò aggiungere una clausola nel WHERE
    no ?
    Mi spiego meglio avevo creato la tabella show_game
    per dare la possibilità all'admin di scegliere la categoria
    e il game per adesso la categoria di gioco è unica la tabella show_game è strutturata
    in questa maniera :
    CREATE TABLE `show_game` (
    `game_category_id` smallint(5) unsigned NOT NULL default '0',
    `game_id` smallint(5) unsigned NOT NULL default '0'
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

    --
    -- Dumping data for table `show_game`
    --

    INSERT INTO `show_game` VALUES (10, 8);
    se le categorie di gioco diventano + di una
    (il game mostrato resta sempre uno) regge ancora
    lo schema ?
    Spero di essermi spiegato.
    Mi sto incasinando PP.

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  7. #7
    codice:
    FROM game_category AS c
    INNER JOIN show_game AS s ON c.game_category_id = s.game_category_id
    INNER JOIN game AS g ON c.game_category_id = g.game_category_id
    INNER JOIN question AS q ON g.game_id = q.game_id
    WHERE g.game_category_id = s.game_category_id
    se

    c.pippo = s.pippo
    c.pippo = g.pippo

    g.pippo e s.pippo sono per forza uguali. A che serve il where?




    ultimo quesito ... di tabelle ne puoi anche fare cento, purche' sia logico farle ed evitino dati duplicati.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8

    ............

    Ripensandoci.
    Potrei risolvere con una query del genere:
    SELECT *
    FROM game_category AS c
    INNER JOIN show_game AS s ON c.game_category_id = s.game_category_id
    INNER JOIN game AS g ON c.game_category_id = g.game_category_id
    INNER JOIN question AS q ON g.game_id = q.game_id
    WHERE g.game_category_id = s.game_category_id
    AND s.game_category_id =11
    Dove quel valore 11 lo potrei recuperare
    da un GET.
    Cosa ne pensi ?
    E' meglio cambiare la tabella show_game
    mettendo una primary key o che altro ?



    Ps.
    Scusa per la frettolosità dei miei post
    a volte (a volte ) vado a ruota libera
    senza riflettere bene sulle cose.
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  9. #9

    ..........

    g.pippo e s.pippo sono per forza uguali. A che serve il where?
    Si ci sono arrivato ora


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  10. #10

    .........

    Quindi con una cosa del genere
    potrei andare tranquillo o risbaglio ?

    SELECT *
    FROM game_category AS c
    INNER JOIN show_game AS s ON c.game_category_id = s.game_category_id
    INNER JOIN game AS g ON c.game_category_id = g.game_category_id
    INNER JOIN question AS q ON g.game_id = q.game_id
    WHERE s.game_category_id =11
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.