Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264

    Mysql - Aiuto per query

    ciao a tutti

    ho una tabella che contiene i campi: regione - provincia - comune

    Arriva un parametro allo script php; il parametro può essere il nome della regione, del comune o della provincia.

    Come posso fare con una questi a cercare in questi 3 campi e poi sapere se il record viene trovato tra le regioni, le provincie o i comuni?

    Spero di essere stato chiaro

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    where provincia='$valorepassato' || comune='$valorepassato' || regione='$valorepassato'

  3. #3
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    ..questa era facile, però lui voleva sapere se il risultato che ha cercato, lo ha trovato in regione, provincia o comune..

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    select *, 
    if(regione = 'xxx','regione',if(provincia = 'xxx','provincia','comune')) as dove
    from tabella
    where regione = 'xxx' or provincia = 'xxx' or comune = 'xxx'
    Sposto nell'apposita sezione.

  5. #5
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    Originariamente inviato da nicola75ss
    codice:
    select *, 
    if(regione = 'xxx','regione',if(provincia = 'xxx','provincia','comune')) as dove
    from tabella
    where regione = 'xxx' or provincia = 'xxx' or comune = 'xxx'
    Sposto nell'apposita sezione.
    Grazie nicola75ss! Funziona alla perfezione.

    Mi chiedo dove posso trovare un testo che riporti tutte queste funzionalità di mysql.... non sapevo si potesse fare, e ho riparato facendo ben 3 query diverse per sapere se fosse provincia, regione o comune

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Nel manuale online trovi tutto. In questo caso sono due semplici if annidati.

    Se vuoi un libro veramente ben fatto con tanti esempi spiegati passo passo, ti consiglio il manuale ufficiale per la preparazione degli esami di mysql.

    http://www.amazon.com/MySQL-5-0-Cert.../dp/0672328127

    In tutta franchezza ti dico che ho imparato, e continuo a imparare, più cose di mysql su questo forum leggendo utenti come piero.mac e luca200 che da tanti libri.

  7. #7
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    Originariamente inviato da nicola75ss
    Nel manuale online trovi tutto. In questo caso sono due semplici if annidati.

    Se vuoi un libro veramente ben fatto con tanti esempi spiegati passo passo, ti consiglio il manuale ufficiale per la preparazione degli esami di mysql.

    http://www.amazon.com/MySQL-5-0-Cert.../dp/0672328127

    In tutta franchezza ti dico che ho imparato, e continuo a imparare, più cose di mysql su questo forum leggendo utenti come piero.mac e luca200 che da tanti libri.
    Grazie ancora nicola75ss

  8. #8
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    Aiuto... con 2 tabelle la query impazzisce!

    select tab1.id,tab2.id, regione, provincia, comune, tab2.servizi,
    if(regione = 'siena','regione',if(provincia = 'siena','provincia','comune')) AS dove FROM tab1 INNER JOIN tab2 ON (tab1.id = tab2.id) AND (regione = 'siena') OR (provincia = 'siena') OR (comune = 'siena')


    Mi trova 100.000 record al posto di 75.....

    eppure basta che tolgo il collegamento alla seconda tabella e funziona alla perfezione.

    Cosa può essere ?

  9. #9
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    Originariamente inviato da henry78
    Aiuto... con 2 tabelle la query impazzisce!

    select tab1.id,tab2.id, regione, provincia, comune, tab2.servizi,
    if(regione = 'siena','regione',if(provincia = 'siena','provincia','comune')) AS dove FROM tab1 INNER JOIN tab2 ON (tab1.id = tab2.id) AND (regione = 'siena') OR (provincia = 'siena') OR (comune = 'siena')


    Mi trova 100.000 record al posto di 75.....

    eppure basta che tolgo il collegamento alla seconda tabella e funziona alla perfezione.

    Cosa può essere ?
    OPS! errore di parentesi

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.