PDA

Visualizza la versione completa : Inserire una condizione nella Stringa SQL


w_t
04-04-2003, 17:33
Ho una tabella dove voglio estrarre dei dati in base ad una condizione,

se la condizione e' True deve estrarre in base ad un parametro,
se la condizione e' False deve estrarre in base ad un altro parametro,

quindi:
----------------------------------------------------------------------------------
SELECT * FROM Tabella WHERE IF(1=1, ID_Tabella='1', ID_Tabella='2')
----------------------------------------------------------------------------------
in questo caso la condizione e' True e quindi estrae in base a: ID_Tabella='1',

----------------------------------------------------------------------------------
SELECT * FROM Tabella WHERE IF(1=2, ID_Tabella='1', ID_Tabella='2')
----------------------------------------------------------------------------------
in questo caso la condizione e' False e quindi estrae in base a: ID_Tabella='2',

e tutto questo funziona su "MySQL" ,

io devo fare questo su "SQL Server 2000", come devo fare ???

JamesD
04-04-2003, 21:00
Non vorrei dire un cavolata ma non dovresti usare IIF!?!

:ciauz:

w_t
04-04-2003, 22:40
risposta troppo sintetica :confused: :confused: :confused:

gdipietro
07-04-2003, 14:08
In db2 si utilizza

IF (search-condition) THEN (SQL-procedure-statement);
END IF

Molto probabilmente per SQL2000 c' una cosa molto simile, controlla magari nell'help (se c' ^^;)

w_t
07-04-2003, 14:39
non si puo' , si puo' solo su MySQL

Johnny_Depp
07-04-2003, 14:52
prova qua:
http://www20.brinkster.com/madtx/IIF.htm

biste
07-04-2003, 17:14
Originariamente inviato da w_t
non si puo' , si puo' solo su MySQL
Non credo... guarda sul books on line di sql server cercando if o case/when

HTH

w_t
07-04-2003, 18:05
FATTO!!


SELECT Cronologia.ID_Cronologia,Client.Nome_Client,Agenti .Nome_Agente,Cronologia.Esito_Contatto,Cronologia. Data_Contatto,Cronologia.Ore_Contatto,Cronologia.N ote_Contatto,Cronologia.Nome_Referente,Cronologia. Cognome_Referente,Cronologia.Email_Referente,Crono logia.Tel_Referente,Cronologia.Fax_Referente,Crono logia.giudizio,Cronologia.Vendita,Cronologia.Data_ Vendita,Cronologia.Ore_Vendita,Cronologia.Note_Ven dita,Articoli.Articolo,Contratti.Contratto,Cronolo gia.Quantita FROM (Cronologia LEFT JOIN Client ON Cronologia.Contattato_Da_Client=Client.ID_Client) LEFT JOIN Agenti ON Cronologia.Contattato_Da_Agente=Agenti.ID_Agente LEFT JOIN Articoli ON Cronologia.ID_Articolo=Articoli.ID_Articolo LEFT JOIN Contratti ON Cronologia.ID_Contratto=Contratti.ID_Contratto AND Cronologia.ID_Cliente='" & _ID_Cliente_ & "'

w_t
10-04-2003, 15:21
sono a testare definitivamente il programma,

con la seguente STRINGA SQL mi estrae perfettamente tutto, solo che non mi rispetta le ultime 2 condizioni (..parametri..) ---> AND Cronologia.Vendita='4' AND Cronologia.ID_Cliente='" & _ID_Cliente_ & "'

non so come fare per fare rispettare pure questi parametri...!!!

sono assolutamente necessari questi 2 parametri........!!!

la stringa attualmente mi estrae tutto, sensa rispettare quei 2 parametri...!!!




SELECT Cronologia.ID_Cronologia,Articoli.Articolo,Contrat ti.Contratto,Cronologia.Quantita,Cronologia.Data_V endita,Cronologia.Nome_Referente,Cronologia.Cognom e_Referente,Cronologia.Email_Referente,Cronologia. Tel_Referente,Cronologia.Fax_Referente,Cronologia. Note_Vendita FROM Cronologia LEFT JOIN Articoli ON Cronologia.ID_Articolo=Articoli.ID_Articolo LEFT JOIN Contratti ON Cronologia.ID_Contratto=Contratti.ID_Contratto AND Cronologia.Vendita='4' AND Cronologia.ID_Cliente='" & _ID_Cliente_ & "'

Loading