• User

    Dubbi su sintassi INNER JOIN

    Un saluto a tutti gli amici del forum, devo recuperare dei dati da 4 tabelle e per farlo vorrei utilizzare delle INNER JOIN, sono un po' arrugginito con la sintassi Mysql pertanto ho bisogno del vostro aiuto, mi illustro brevemente la struttura del database, naturalmente le tabelle sono 4 senza contare la tabella di raccordo.

    Le tabelle sono ;

    • accounts;
    • accounts_cstm;
    • opportunities;
    • opportinities_cstm;
    • accounts_opportunities; (tabella di raccordo) con tre colonne id - opportunity_id che relaziona il campo id della tabella opportinities e il campo id_c della tabella opportinities_cstm; **account_id **che relaziona il campo id della tabella accounts e il campo id_c della tabella accounts_cstm;

    io ho la necessità di relazionare le tabelle, ho scritto la query in questo modo

    
    SELECT accounts.id, accounts.name, accounts.billing_address_street, accounts.billing_address_city, accounts.billing_address_state, accounts.billing_address_postalcode, accounts.billing_address_country, accounts.rating, accounts.phone_office, accounts.phone_alternate, accounts_cstm.id_anagrafica_c, accounts_cstm.tipo_pagamento_c, accounts_cstm.data_firma_c, accounts_cstm.quota_associativa_c, accounts_cstm.data_incasso_c, accounts_cstm.piva_c, accounts_cstm.codice_fiscale_c, accounts_cstm.stato_adesione_c, accounts_cstm.data_invio_kit_c, accounts_cstm.stato_kit_associato_c,opportunities_cstm.op_codice_presa
    FROM accounts
    INNER JOIN accounts_cstm ON accounts.id = accounts_cstm.id_c
    INNER JOIN opportunities_cstm ON opportunities.id = opportunities_cstm.id_c
    
    

    Mi date una mano a capire dove sbaglio ? In effetti nella query non menziono proprio la tabella di raccordo, credo che il problema sia in questo :arrabbiato:


  • User

    SELECT alias.nomecampo, alias.nomecampo FROM tabella AS alias JOIN (tabella AS alias, tabella AS alias, tabella AS alias) ON (alias.nomecampo = alias.nomecampo AND alias.nomecampo = alias.nomecampo) altra sintassi.

    esempio più concreto

    SELECT c.id, p.pane, m.quantita FROM cibo AS c JOIN (prodotto AS p, magazzino AS m) ON (p.id = c.id AND m.id = c.id)