Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Query SQL
mercoledì 07 dicembre 2005 - 10.46
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
mer 7 dic 2005 - 10:46
Ciao a tutti, ho un problema con una select:
la select annidiata mi da i risultati "Microsoft" / "ClientePalladio" e "Microsoft"/"Prospect Palladio".
Io dopo vorrei avere solo il risultato "Microsoft" non duplicato e allora ho pensato di scrivere questa select:
select Ragione_Sociale from TB_Clienti where Ragione_Sociale in
(select Ragione_Sociale, Descrizione from TB_Clienti,TB_Configurazioni,TB_Attributi where
ID_Cliente=ID_Cliente_fk and ID_Attributo=ID_Attributo_fk and
(Descrizione='Cliente Palladio' or Descrizione='Prospect Palladio'));
però mi da questo errore: Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.
Consigli?
Grazie!
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mer 7 dic 2005 - 11:07
>però mi da questo errore: Only one expression can be specified
>in the select list when the subquery is not introduced with
> EXISTS.
E' normale, quando tu costruisci delle Subquery (query nidificata) puoi inserire nella select della subquery un solo campo inoltre la subquery deve tornare un solo record.
select *, (select a,b from altra_tabella) from tabella // ERRORE
select *, (select a from altra_tabella) from tabella // CORRETTO
Per prendere valori univoci puoi utilizzare il comando DISTINCT. Sicuramente puoi trovare una soluzione migliore mettendo in JOIN le tabelle, non conoscendo la struttura delle stesse è difficile darti una risposta.
ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
mer 7 dic 2005 - 11:14
Ok, adesso funziona, grazie!
Ah, già che son qui posso chiedrti una cosa?
In sql ho un campo dati datetime e voglio inserire una data da asp.net.
In aspnet tiro fuori la data così:
string data=System.DateTime.Now.ToShortDateString();
e ottengo 7/12/2005
quando inserisco il dato in sql mi vien fuori 1/1/1900!
Why? Ho provato anche a impostare il campo dati a smalldatetime, ma il risultatonon cambia!
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 7 dic 2005 - 15:03
>In sql ho un campo dati datetime e voglio inserire una data da
>asp.net.
>
>In aspnet tiro fuori la data così:
>
>string data=System.DateTime.Now.ToShortDateString();
>
>e ottengo 7/12/2005
>
>quando inserisco il dato in sql mi vien fuori 1/1/1900!
>
>Why? Ho provato anche a impostare il campo dati a smalldatetime,
> ma il risultatonon cambia!
Ciao Pongo,
leggi il seguente tip:
http://www.dotnethell.it/tips/SQLServerDates.aspx
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
ven 9 dic 2005 - 11:21
Thanks! Lunedì provo! :)
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !