Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [MySQL 4.1] aiuto query

    Ciao a tutti... ho un problemino con una query un po' difficile (per me)

    La query deve beccare i dati da 3 tabelle:
    - tabella marca (cod_marca,nome,cod_distr sono i dati indispensabili)
    - tabella societa (cod_soc,societa sono i dati indispensabili)
    - tabella enti (cod_soc,societa sono i dati indispensabili)

    La query deve ritornare una tabella dove per ogni marca venga associato il nome società (che puo essere di un ente o di una societa), quindi una LEFT JOIN più l'unione delle 2 tabelle (societa,enti). Io ho scritto un codice, ma naturalmente non funzia, però vi aiuta a capire quello che volevo fare:
    codice:
    SELECT mod_rubrica_societa.societa,mod_riparazione_marche.id,mod_riparazione_marche.cod_marca,mod_riparazione_marche.nome,mod_riparazione_marche.descr,mod_riparazione_marche.flagCentri,mod_riparazione_marche.cod_distr
    FROM mod_riparazione_marche LEFT JOIN 
    (SELECT societa,cod_soc FROM mod_rubrica_societa UNION SELECT societa,cod_soc FROM mod_rubrica_enti) as tab_soc
    ON mod_riparazione_marche.cod_distr=tab_soc.cod_soc
    ORDER BY mod_riparazione_marche.nome
    La soluzione se possibile dovrebbe essere su una sola query in modo da poter fare delle ricerche al volo con il WHERE.
    Grazie

  2. #2
    trovata anche la soluzione... era più semplice del previsto...
    codice:
    SELECT mod_rubrica_societa.societa,mod_riparazione_marche.id,mod_riparazione_marche.cod_marca,mod_riparazione_marche.nome,mod_riparazione_marche.descr,mod_riparazione_marche.flagCentri,mod_riparazione_marche.cod_distr
    FROM mod_riparazione_marche LEFT JOIN mod_rubrica_societa ON mod_riparazione_marche.cod_distr=mod_rubrica_societa.cod_soc
    WHERE mod_rubrica_societa.societa LIKE ''
    UNION
    SELECT mod_rubrica_enti.societa,mod_riparazione_marche.id,mod_riparazione_marche.cod_marca,mod_riparazione_marche.nome,mod_riparazione_marche.descr,mod_riparazione_marche.flagCentri,mod_riparazione_marche.cod_distr
    FROM mod_riparazione_marche LEFT JOIN mod_rubrica_enti ON mod_riparazione_marche.cod_distr=mod_rubrica_enti.cod_soc
    WHERE mod_rubrica_enti.societa LIKE ''
    ORDER BY mod_riparazione_marche.nome
    Spero possa servire agli altri...

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.