Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107

    [MySql] Help con query di select\

    Salve a tutti!

    Dovrei farei una cosa di questo tipo:

    codice:
    tabella: ANAGRAFICA
    ID
    [...]
    ragione
    cognome
    nome
    comune
    comune2
    [...]
    Devo fare una ricerca per la città premesso che :
    campo comune --> se ragione=''
    campo comune2 --> se ragione <>''

    per cui la query risultante sarebbe del tipo :

    codice:
    select * from ANAGRAFICA
    where [comune o comune2] like '%MONZA%'
    Come posso fare per fare la selezione su comune o comune2 a seconda dell'altro campo?
    Guybrush Threepwood

  2. #2
    potrsti essere più esplicito? non ci ho capito molto!!!

  3. #3
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Allora, classica tabella anagrafica.

    Fra i campi ho

    campo RAGIONE (ragione sociale)
    campo NOME
    campo COGNOME

    campo COMUNE
    campo COMUNE2


    L'anagrafica può avere o meno la ragione sociale (se c'è è persona giuridica, se no è fisica)

    Ora faccio una ricerca per comune.

    Se ho la ragione, il comune lo troverò nel campo COMUNE2.
    Se la ragione è vuota, il comune lo troverò nel campo COMUNE.

    Sono stato spiegato?
    Guybrush Threepwood

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    select 
    if (ragione = '',comune,comune2) as comune
    from tabella

  5. #5
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Grande come sempre

    La IF era un'ipotesi che avevo scartato a priori visto che tempo fa mi era stato detto sempre sul forum che non si poteva gestire con mysql

    DankE!
    Guybrush Threepwood

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da Threepwood
    La IF era un'ipotesi che avevo scartato a priori visto che tempo fa mi era stato detto sempre sul forum che non si poteva gestire con mysql
    Ah,non lo sapevo.

    Prego.

  7. #7
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Buon uomo, dammi l'ultima mano

    questa è la query real risultante.

    pr_citta è una tabella con i campi citta,prov,cab
    pr_soggetti è la tabella anagrafica

    codice:
    select *, if (s_ragione = '',s_com2,s_com) as comune, 
    cit2.cab as c_cab,
    cit2.citta as c_citta 
    
    from def_soggetti 
    
    left outer join pr_citta as cit1 on cit1.citta=s_com 
    left outer join pr_citta as cit2 on cit2.citta=comune
    Con questa query mi dice che "ERRORE 1054: Unknown column 'comune' in 'on clause'" ...

    come posso risolverlo? L'errore l'è chiaro...
    Guybrush Threepwood

  8. #8
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    noo...

    E' possibile che sia un bug??? su google trovo

    MySQL Bugs: #13551: #1054 - Unknown column 'xxxx' in 'on clause'
    Guybrush Threepwood

  9. #9
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Mezzo risolto il problema.. ho girato la query

    codice:
    select *, 
    if (s_ragione='',cit2.citta,cit1.citta) as comune_as,
    if (s_ragione='',cit2.cab,cit1.cab) as cab_as,
    
    cit2.cab as c_cab,cit2.citta as c_citta 
    
    from def_soggetti 
    
    left outer join pr_citta as cit1 on cit1.citta=s_com 
    left outer join pr_citta as cit2 on cit2.citta=s_com2
    Guybrush Threepwood

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.