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 per associare un parametro
lunedì 30 giugno 2008 - 14.37
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Daniela83
Profilo
| Newbie
5
messaggi | Data Invio:
lun 30 giu 2008 - 14:37
Ciao,
sto sviluppando un'applicazione che interroga un DB MS SQL server. In base al valore di un parametro (qui lo chiamo X) di una tabella C dove ci sono delle risposte devo associare solo alcune voci della tabella D. come farlo in SQL?
la tabella D è formata da id_voce, voce
La tabella C è formata da id_risp, risposta
io devo fare una tabella E che contenta risposta, voce.
in base alla risposta che ho dato (padre o madre), devo visualizzare solo le voci (molto, abbastanza, poco, niente)
Ho provato così:
Select * from
If Q1.p_index='1' and Q1.p_index='2'
then Scelta.voce='Ottimo'
else (qui non so cosa mettere perchè vorrei che visualizzasse tutte le altre voci)
End if
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
lun 30 giu 2008 - 15:08
>sto sviluppando un'applicazione che interroga un DB MS SQL server.
>In base al valore di un parametro (qui lo chiamo X) di una tabella
>C dove ci sono delle risposte devo associare solo alcune voci
>della tabella D. come farlo in SQL?
Ciao Daniela,
posta i comandi DDL delle tabelle (CREATE TABLE), alcune righe di prova (INSERT INTO) ed il result set finale che vuoi ottenere con quei dati.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Daniela83
Profilo
| Newbie
5
messaggi | Data Invio:
lun 30 giu 2008 - 15:10
Scusa ma non ho capito quello che devo fare...
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
lun 30 giu 2008 - 15:12
>Scusa ma non ho capito quello che devo fare...
Mi devi allegare i comandi T-SQL di creazione delle tabelle, i comandi di INSERT per popolarle con dei dati di prova, ed il risultato che vuoi ottenere partendo da quei dati.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Daniela83
Profilo
| Newbie
5
messaggi | Data Invio:
lun 30 giu 2008 - 15:35
ah ok scusa...
tabella risposte
CREATE TABLE `Questionari`.`Q2` (
`id q2` int(10) unsigned NOT NULL auto_increment,
`voci` varchar(500) NOT NULL,
PRIMARY KEY (`id q2`)
) ENGINE=MyISAM AUTO_INCREMENT=23 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC;
tabella riepilogativa
CREATE TABLE `Questionari`.`Q1` (
`id q1` int(11) NOT NULL auto_increment,
`voci` varchar(300) NOT NULL,
`padre` varchar(45) NOT NULL,
`voci_bis` varchar(45) NOT NULL,
PRIMARY KEY (`id q1`)
) ENGINE=MyISAM AUTO_INCREMENT=45 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC;
tabella scelte
CREATE TABLE `Questionari`.`Scelte` (
`id scelta` int(11) NOT NULL auto_increment,
`voce` varchar(45) NOT NULL,
PRIMARY KEY (`id scelta`)
) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC;
tabella che contiene le tre cose
select `id q1`, d.voci as padre, a.voci, padre as p_index, b.voce as voci_bis, b.`id scelta`
from Q1 a
join Q2 d
on a.padre=d.`id q2`
left join Scelte b
on a.voci_bis=b.`id scelta`
esempio:
tabella risposte
in famiglia,coi genitori
in famiglia, con i fratelli
padre
madre
tabella scelte
ottimo
buono
molto
abbastanza
tabella riepilogativa
in famiglia, coi genitori (vuoto)
in famiglia, coi fratelli (ottimo)
per padre e madre devo associare solo molto e abbastanza
praticamente ho fatto un questionario e le risposte devono essere registrate nel database... cosi ho fatto la tabella risposte dove sono indicate tutte le risposte del questionario, la tabella scelte dove sono registrate tutte le diverse scelte, quindi una tabella riepilogativa che contiene tutti le risposte con le scelte.
nella tabella riepilogativa ho fatto un campo con le risposte ("PADRE"), uno dove sono registrate tutte le risposte possibili ("VOCI") e uno dove sono registrate le scelte (VOCI_BIS)
praticamente ho
q1 I tuoi genitori sono
- sposati
-divorziati
q2 com'è il rapporto
ottimo buono pessimo
-padre
-madre
q3 quanto parli con
poco abbast molto
-famiglia
-amici
-prof
etc.
ho registrato tutte le domande, tutte le risposte, tutte le scelte
nella tabella riepilogativa ho fatto un select che selezionasse le domande (padre), tutte le possibili risposte di ogni domanda (voci), e poi ho fatto un campo voci_bis per inserire le scelte.
solo per le risposte alla domanda q2 devo solo poter scegliere le scelte indicate e quindi devo solo visualizzare quello nelle opzioni.
capito?
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
lun 30 giu 2008 - 16:41
> ENGINE=MyISAM
Daniela,
Tu non stai usando SQL Server, ma MySQL
Non sono ferrato con questo DBMS, quindi passo la palla a chi ne sa più di me.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Daniela83
Profilo
| Newbie
5
messaggi | Data Invio:
lun 30 giu 2008 - 19:48
ah ok....... non sai chi mi può aiutare?
cmq grazie lo stesso per avermi preso in considerazione.... Buona serata
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 !