Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    35

    [mysql] utilizzo di having

    ciao a tutti

    sto tentando di utilizzare HAVING

    select cl1, cl2 from tb1
    where cl1 having (x, y, z);

    mi risulta il seguente errore

    ERROR 1241 <21000>:Operand should contain 1 column(s)

    sulla guida mi rimanda alle subquery ma poi non riesco a capire la soluzione
    consigli????

  2. #2
    Guarda mi pare che HAVING si comporti come WHERE ossia la sintassi mi pare sia HAVING colonna = '' AND colonna2 = '' AND ...

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    35
    francy2 non so io non credo sia così

    se pensi che cl1 (colonna uno è ID)
    e che cl2 ( nome)

    quando imposti la queri dici seleziona colonna 1 e colonna 2 della tabella 1 quando i valori di colonna 1 assumono i valori (x,y,z)

    come dici tu avrei fatto

    where cl1 = x
    and cl1 = y

    ........

    ti sembra?????

  4. #4
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    HAVING si usa in corrispondenza di funzioni di aggregazione (tipico esempio il GROUP BY)
    Nel tuo caso farei semplicemente

    ... where cl1 IN (x,y,z)

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    35
    comas grazie

    non avevo controllato tutti gli operatori di WHERE.

    la query potrebbe anche essere scritta con OR

    select cl1, cl2 from tb1
    where cl1 = x or cl1 = y or cl1 = z

    il risultato è uguale a quello che si ottiene utilizzando IN

    il passo che avevo riportato con Having si trova pari pari sulla guida MySQL 5 a pag 199.

    e come detto da quell'errore.

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.