Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Problemino con Query

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2000
    Messaggi
    151

    Problemino con Query

    Ciao ragazzi, ho bisogno di un aiutino per capire come fare due query,
    allora io ho una tabella chiamata "uno" con tre campi post_id(chiave in comune), post_subject, post_text e ho un'altra tabella "due" con 3 campi post_id(chiave in comune), topic_id, post_time.

    Allora la prima query mi dovrebbe dare post_id,post_subject e post_time

    Mentre la seconda dovrebbe darmi post_id, post_subject, post_text , post_time ordinati per topic_id


    Ho provato la maniera semplice

    "SELECT * FROM uno, due" ;

    Ma i risultati che mi da sono confusi nel senso che a seconda di quale tabella metto prima mi sa risultati differenti e comunque non corretti (id tutti uguale, soggetti tutti uguali etc.)

    Ho provato con l'UNION ma non credo sia la strada giusta.

    Potete aiutarmi a capire? Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2000
    Messaggi
    151
    Ragazzi ho risolto , non avevo ragionato bene, ora è tutto ok, ma ho bisogno di un aiutino:


    Ho fatto questa select, ma ho bisogno di fare in modo che verga ordinata per il topic_id , es: topic _id = 1

    Ho provato cosi ma non va

    Codice PHP:


    $tutto 
    "SELECT * FROM nuke_bbposts, nuke_bbposts_text where nuke_bbposts.post_id = nuke_bbposts_text.post_id ORDER by topic_id where topic_id ='1' ";; 

    Help me
    tutto questo lavoro mi serve solo per prendere dei dati da un forum che se no andrebbero persi, mi sto ammattendo

    ciao

  3. #3
    perchè metti ORDER by topic_id where topic_id ='1' ?
    non ti basta mettere ORDER by topic_id?

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2000
    Messaggi
    151
    Originariamente inviato da Filippo_CL
    perchè metti ORDER by topic_id where topic_id ='1' ?
    non ti basta mettere ORDER by topic_id?

    Fiujuuu ho risolto, e no non mi bastava, sta sera sono rimbambito, per ogni id devo creare un file di testo con i contenuti estratti, per questo mi serviva l'uno, ma ora ho fatto...grazie cmq...la query che ho postato prima, l'ultima parte era cannata...non guardatela...

    ciao!

  5. #5
    usare il where per "collegare" le tabelle è una soluzione abbastanza orrida ci sono le JOIN apposta per questo!

    codice:
    SELECT
      *
    
    FROM
      nuke_bbposts
      INNER JOIN nuke_bbposts_text ON nuke_bbposts.post_id = nuke_bbposts_text.post_id
    
    WHERE
      topic_id = 1
    
    ORDER BY
      topic_id
    in questo modo spieghi a mysql che le tabelle sono relazionate tramite quella chiave e lui si organizza la ricerca in modo più efficente, inoltre usando l'inner join ti verranno fuori valori ESCLUSIVAMENTE presenti in entrambe le tabelle, se vuoi risultati dalla prima a prescindere dalla presenza dei dati nella seconda allora si va ad usare una LEFT JOIN invece che una INNER JOIN

    Qui c'è il riferimento ufficiale al manuale di mysql
    http://dev.mysql.com/doc/refman/5.0/en/join.html

    Qua invece ci sono un paio di link che potrebberò risultarti utili
    http://database.html.it/guide/lezion...so-delle-join/
    http://database.html.it/articoli/leg...elle-in-mysql/

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.