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

    ricerca nell'unione di due campi

    Ho una tabella così strutturata:

    id
    cognome
    nome
    numero_di_telefono

    vorrei creare una query che mi cerchi una stringa nell'unione di due campi, cioè:

    così come in
    - WHERE cognome LIKE '%$stringa%' -
    la stringa viene ricercata nel campo cognome,
    vorrei ricercasse nell'unione di due campi e cioè
    fantasiosamente mi verrebbe da scrivere
    - WHERE (cognome.' '.nome) LIKE '%$stringa%' -
    includendo quindi lo spazio
    Prima o poi anch'io vi insegnerò qualcosa

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    where concat(nome,' ',cognome) ...

  3. #3
    grazie mille, grande aiuto.

    Mi spiace non aver fatto in tempo a modificare il quesito e porlo all'interno del problema più grande ovvero:

    date le tabelle:

    http://www.gscastelfranco2003.it/imm...ms/Tabelle.JPG

    vorrei creare una query che mi visualizzi un elenco del tipo:

    http://www.gscastelfranco2003.it/imm...ms/listato.JPG

    opportunamente poi filtrato aggiungendo ulteriori specifiche alla WHERE




    P.s.:Per gli amministratori: Perchè in questo messaggio si visualizza il link delle immagini e non le immagini direttamente?
    Prima o poi anch'io vi insegnerò qualcosa

  4. #4
    ok, grazie mille ugualmente, anche a chi ha solo pensato di risolvere il mio secondo problema.

    In ogni caso ci sono riuscito da solo, ho dovuto modificare la struttura delle mie tabelle ma l'ho fatto. Siccome mi piace trovare i quesiti risolti quando cerco un qualcosa, pòsto la mia soluzione giustappunto per i pòsteri.

    Ho modificato la mia tabella "contratti" lasciando un'unico campo che punta agli id delle tabelle e ho aggiunto un campo che indica a quale tabella deve puntare (alla Clienti o alla Ditte) in questo modo;

    -id
    -data
    -id_clidit
    -tipo_clidit
    -tipo_contratto

    poi ho fatto due query e le ho unite in questo modo:

    $query="((SELECT
    contratti.id AS CONTRATTI_ID,
    contratti.data AS CONTRATTI_DATA,
    contratti.id_clidit AS CONTRATTI_ID_CLIDIT,
    contratti.tipo_clidit AS CONTRATTI_TIPO_CLIDIT,
    contratti.tipo_contratto AS CONTRATTI_TIPO_CONTRATTO,
    clienti.id AS CLIENTI_ID,
    concat(clienti.cognome,' ',clienti.nome) AS CLIDIT
    FROM
    contratti,
    clienti
    WHERE (contratti.id_clidit=clienti.id) and (contratti.tipo_clidit='Clienti')) UNION (SELECT
    contratti.id AS CONTRATTI_ID,
    contratti.data AS CONTRATTI_DATA,
    contratti.id_clidit AS CONTRATTI_ID_CLIDIT,
    contratti.tipo_clidit AS CONTRATTI_TIPO_CLIDIT,
    contratti.tipo_contratto AS CONTRATTI_TIPO_CONTRATTO,
    ditte.id AS CLIENTI_ID,
    ditte.denominazione AS CLIDIT
    FROM
    contratti,
    ditte
    WHERE (contratti.id_clidit=ditte.id) and (contratti.tipo_clidit='Ditte')) ORDER BY CONTRATTI_ID ASC)";

    e il gioco è fatto
    Prima o poi anch'io vi insegnerò qualcosa

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.