Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    AND e OR continuano a perseguitarmi

    ho un campo listino della tabella1, voglio selezionare tutti i record che hanno nel campo listino il valore '150' oppure '180' e che hanno il campo codice articolo = a quello di tabella2, ecco come faccio:
    codice:
    select * from tabella1,tabella2 where tabella1.codicearticolo = tabella2.codicearticolo and tabella1.listino = '150' OR tabella1.listino = '180'
    ma il risultato è letteralmente sballato..
    se invece non lego i record delle due tabelle tramite il codice articolo..allora si inizia a ragionare.. secondo voi da cosa dipende?

  2. #2
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    Succede che se in tabella2 sono presenti n record per 1 record di tabella1 ti sballa tutto. Prova comunque a fare un group by:

    codice:
    select * from tabella1,tabella2 where tabella1.codicearticolo = tabella2.codicearticolo and tabella1.listino = '150' OR '180' group by tabella1.codicearticolo
    Altro problema: codicearticolo ripetuto sia in tabella1 che in 2 può generare casini.

  3. #3
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    e se le tabelle con cui legare il codice articolo sono + di una?

  4. #4
    Utente di HTML.it L'avatar di diegoctn
    Registrato dal
    May 2001
    Messaggi
    2,118
    In che senso? Fai una serie di inner (o left, right) join.....

  5. #5
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da diegoctn
    In che senso? Fai una serie di inner (o left, right) join.....
    si ma è un casino e non ci stò capendo molto..
    riepilogando:
    perchè mai non posso slezionare i record di una certa tabella che abbia nel campo codice articolo un codice uguale a quello di un campo codice articolo di un'altra tabella e che abbia nel campo listino un valore o un altro?
    questo non mi è chiaro!

  6. #6
    doppino, lo sai che AND e OR hanno delle precedenze...

    codice:
    select * from tabella1,tabella2 where tabella1.codicearticolo = tabella2.codicearticolo and (tabella1.listino = '150' OR tabella1.listino = '180')

  7. #7
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da optime
    doppino, lo sai che AND e OR hanno delle precedenze...

    codice:
    select * from tabella1,tabella2 where tabella1.codicearticolo = tabella2.codicearticolo and (tabella1.listino = '150' OR tabella1.listino = '180')
    ao, perchè mi viene fuori un token non valido "(" ?

  8. #8
    hai scritto paro paro come ti ho detto?

  9. #9
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da optime
    hai scritto paro paro come ti ho detto?
    si ma mi sà che ho dimenticato di aggiungere il tipo di database che è db2 ...
    che mi sà che è questo il motivo per cui restituisce questo errore..

  10. #10
    maro', e non ti fa mettere le parentesi? con quello che costa controlla la documentazione

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.