Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870

    Mancanto funzionamento query Inner Join

    Ciao.

    Ho due tbl in un db mysql, che hanno questo campo uguale, cioè con gli stessi valori:

    ID_CAMPO = 3 x tbl_1 ( 2 records )
    ID_CAMPO = 3 x tbl_2 ( 17 records)

    Scrivo questa query inner join:

    codice:
    SQL = "SELECT * "
    SQL = SQL & " FROM "
    SQL = SQL & " tbl_2 "
    SQL = SQL & " INNER JOIN tbl_1 ON tbl_1.ID_CAMPO= tbl_2.ID_CAMPO "
    SQL = SQL & " GROUP BY tbl_2.ID_CAMPO " 
    SQL = SQL & " ORDER BY tbl_2.ID_CAMPO asc"
    Ma estrae tutti i records dalla tbl_2.... che sbaglio?
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    249
    Estrae tutti i campi dellatbl_2 perchè glielo chiedi tu.
    Con select * gli dici di selezionare tutti i campi.
    Invece dell'asterisco devi scrivere il nome del campo preceduto da quello della tabella tipo:

    tbl2.Nome

    Buon lavoro

  3. #3
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Grazie, ma anche così non cambia nulla...

    invece di estrarre dalla tbl_2 i 17 records in cui ID_CAMPO è uguale a 3, estrae tutti i records della tbl_2...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    249
    ops non avevo capito ecco:


    SQL = "SELECT * "
    SQL = SQL & " FROM "
    SQL = SQL & " tbl_2 "
    SQL = SQL & " INNER JOIN tbl_1 ON tbl_1.ID_CAMPO= tbl_2.ID_CAMPO "
    SQL = SQL & " WHERE tbl_1.ID_CAMPO = 3"
    SQL = SQL & " GROUP BY tbl_2.ID_CAMPO "
    SQL = SQL & " ORDER BY tbl_2.ID_CAMPO asc"

    devi metterci il where.... se no dove gli dici di estrarre i campi solo dove id_campo è = 3??

  5. #5
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    no non funziona... ma poi where a che serve se gli dico di estrarre dalle due tabelle i records con il campo di valore uguale???? :master:

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    249
    scusami allora non ho capito io cosa vuoi.. cosi

    SQL = "SELECT * "
    SQL = SQL & " FROM "
    SQL = SQL & " tbl_2 "
    SQL = SQL & " INNER JOIN tbl_1 ON tbl_1.ID_CAMPO= tbl_2.ID_CAMPO "
    SQL = SQL & " GROUP BY tbl_2.ID_CAMPO "
    SQL = SQL & " ORDER BY tbl_2.ID_CAMPO asc"

    gli dici: estraimi tutti i campi dalla tabella tbl_2 collegata alla tbl_1 nel campo ID_campo raggruppali per Id_campo e ordinali in modo ascendente.

    Tu invece che vuoi fare?

  7. #7
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Vorrei estrarre dalla tbl_2 tutti i records che hanno nella colonna ID_CAMPO il valore uguale a quello della colonna ID_CAMPO della tbl_1

  8. #8
    fa' una query di controllo così

    codice:
    SQL = "SELECT tbl_2.ID_CAMPO AS IDTB2, tbl_1.ID_CAMPO AS IDTB1 "
    SQL = SQL & " FROM "
    SQL = SQL & " tbl_2 "
    SQL = SQL & " INNER JOIN tbl_1 ON tbl_2.ID_CAMPO= tbl_1.ID_CAMPO "
    SQL = SQL & " GROUP BY tbl_2.ID_CAMPO " 
    SQL = SQL & " ORDER BY tbl_2.ID_CAMPO asc"
    e vedi cosa ti restituisce

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.