Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Aires
    Registrato dal
    Jan 2010
    Messaggi
    725

    [Mysql] Condizione IF nella Query

    Ciao a tutti avrei bisogno di una dritta su una query.

    Prendiamo come esempio queste due tabelle
    Fornitore
    codice:
    ID
    Ordine
    Dati Fornitore
    codice:
    ID
    ID_Fornitore
    Stato
    ...
    ...
    ...
    Bene diciamo che sulla tabella fornitore avremo un record, esempio: ID = 1 Ordine = 100 e sulla tabella Dati Fornitore potremo avere piu record, ad esempio:

    ID = 1 | ID_Fornitore = 1 | Stato = 2
    ID = 2 | ID_Fornitore = 1 | Stato = 1
    ID = 3 | ID_Fornitore = 1 | Stato = 5

    Bene ora io tramite query voglio fare una cosa un po particolare.
    Allora pesco tutti i record relativi a un fornitore per i quali l'ordine è nullo e fin qua non ci sono problemi
    codice:
    Select * From fornitore forn, dati_fornitore df Where forn.Ordine is null
    Ora però sorge il problema, io vorrei che se l'ordine non è nullo, mi mostri solamente i record con un certo stato. Facendo una query solo su questa richiesta verrebbe
    codice:
    Select * From fornitore forn, dati_fornitore df Where forn.Ordine is not null and df.stato like 5
    Quindi ora bisogna integrare le due query
    codice:
    Select * From fornitore forn, dati_fornitore df Where (forn.Ordine is Null or [qua mi sa ci va l'if])
    Originariamente inviato da qazar
    Se finisci di leggere il thread mi sono corretto,è solo i kernel scritto in html.
    Originariamente inviato da rnlflame
    Comunque non dovevano crollare

  2. #2
    Utente di HTML.it L'avatar di Aires
    Registrato dal
    Jan 2010
    Messaggi
    725
    Ho risolto in un altro modo, tuttavia se mi spiegate comunque come funge l'if in quel caso mi acculturo un po
    Originariamente inviato da qazar
    Se finisci di leggere il thread mi sono corretto,è solo i kernel scritto in html.
    Originariamente inviato da rnlflame
    Comunque non dovevano crollare

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2011
    Messaggi
    23
    l'if viene usato come in un qualsiasi linguaggio di programmazione :
    if(campo="1","true","false").
    Comunque nel caso specifico bastava una clausola annidata come:
    where (ordine is null)or((ordine is not null) and(stato="5"))

  4. #4
    Utente di HTML.it L'avatar di Aires
    Registrato dal
    Jan 2010
    Messaggi
    725
    Grazie mille
    Originariamente inviato da qazar
    Se finisci di leggere il thread mi sono corretto,è solo i kernel scritto in html.
    Originariamente inviato da rnlflame
    Comunque non dovevano crollare

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.