Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125

    Query Inner Join tra due tabelle mysql

    Buon pomeriggio a tutti.

    Dovrei relazionare due tabelle di uno stesso DB MySQL con un campo in comune per estrarre dei dati da elaborare.

    Le tabelle sono così strutturate:

    Tab_1:

    ID = 1
    IDCD = 565
    CodiceAbbinato = CD2
    Titolo = AAA

    ID = 2
    IDCD = 565
    CodiceAbbinato = F2
    Titolo = ABB

    ID = 3
    IDCD = 565
    CodiceAbbinato = CD19
    Titolo = BBB

    ********************

    Tab_2:

    ID = 1
    CodiceAbbinato = CD2

    ID = 2
    CodiceAbbinato = F2

    ID = 3
    CodiceAbbinato = CD19

    ********************

    La query Inner join è la seguente:

    codice:
    SQL = " SELECT " 
    SQL = SQL & " Tab_1.*, " 
    SQL = SQL & " Tab_2.* "
    SQL = SQL & " FROM "
    SQL = SQL & " Tab_1 AS T1 "
    SQL = SQL & " INNER JOIN " 
    SQL = SQL & " Tab_2 AS T2 " 
    SQL = SQL & " ON T2.CodiceAbbinato = T1.CodiceAbbinato " 
    SQL = SQL & " WHERE "
    SQL = SQL & " Tab_1.IDCD = 565 "
    SQL = SQL & " GROUP BY "
    SQL = SQL & " Tab_2.CodiceAbbinato "
    Ma eseguendo la query, questa invece di estrarre CD2, F2 E CD19 estrae soltanto CD2 e F2... non dovrebbe estrarre anche CD19 ???

    Perchè non lo fa ?
    Grazie---

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Sei sicuro che i dati siano proprio quelli da te indicati??

    Roby

  3. #3
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Sicurissimo.

  4. #4
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Perchè non va ???

    SELECT Tab_1.*, Tab_2.* FROM Tab_1 AS T1 INNER JOIN Tab_2 AS T2 ON T2.CodiceAbbinato = T1.CodiceAbbinato WHERE Tab_1.IDCD = trim(565) GROUP BY Tab_2.CodiceAbbinato

    565 ===> CD2
    565 ===> F2

  5. #5
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Strano, così ha funzionato:

    codice:
    SELECT T1.*, T2.* 
    FROM 
    Tab_1 AS T1 
    INNER JOIN 
    Tab_2 AS T2 
    ON T2.CodiceAbbinato = T1.CodiceAbbinato 
    WHERE T1.IDCD = trim(565) 
    GROUP BY T2.CodiceAbbinato

  6. #6
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Originariamente inviato da Mizushi
    Strano, così ha funzionato:

    codice:
    SELECT T1.*, T2.* 
    FROM 
    Tab_1 AS T1 
    INNER JOIN 
    Tab_2 AS T2 
    ON T2.CodiceAbbinato = T1.CodiceAbbinato 
    WHERE T1.IDCD = trim(565) 
    GROUP BY T2.CodiceAbbinato
    VVoVe:

    trim...?
    ma il campo id non è numerico?
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  7. #7
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    No, è un codice alfanumerico o numerico dipende dal CD.

  8. #8
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Allora va tra apici.....

    codice:
     SQL = " SELECT " 
    SQL = SQL & " Tab_1.*, " 
    SQL = SQL & " Tab_2.* "
    SQL = SQL & " FROM "
    SQL = SQL & " Tab_1 AS T1 "
    SQL = SQL & " INNER JOIN " 
    SQL = SQL & " Tab_2 AS T2 " 
    SQL = SQL & " ON T2.CodiceAbbinato = T1.CodiceAbbinato " 
    SQL = SQL & " WHERE "
    SQL = SQL & " Tab_1.IDCD = '565' "
    SQL = SQL & " GROUP BY "
    SQL = SQL & " Tab_2.CodiceAbbinato "
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  9. #9
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Originariamente inviato da kalosjo
    Allora va tra apici.....

    codice:
     SQL = " SELECT " 
    SQL = SQL & " Tab_1.*, " 
    SQL = SQL & " Tab_2.* "
    SQL = SQL & " FROM "
    SQL = SQL & " Tab_1 AS T1 "
    SQL = SQL & " INNER JOIN " 
    SQL = SQL & " Tab_2 AS T2 " 
    SQL = SQL & " ON T2.CodiceAbbinato = T1.CodiceAbbinato " 
    SQL = SQL & " WHERE "
    SQL = SQL & " Tab_1.IDCD = '565' "
    SQL = SQL & " GROUP BY "
    SQL = SQL & " Tab_2.CodiceAbbinato "
    Si ma non era problema di apici se hai letto bene l'ultima mia risposta...

  10. #10
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Allora vuol dire che l'esempio che avevi fatto non andava bene.
    Il codice mostrato aveva una spazio prima o dopo pertanto non era quello.

    Roby

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 © 2026 vBulletin Solutions, Inc. All rights reserved.