Ho bisogno di un SP per restituire più serie di risultati. La seconda serie di risultati si baserà su una colonna del primo insieme di risultati.stored procedure restituisce più set di risultati
Quindi:
declare @myTable1 table(field0 int,field1 varchar(255))
insert into @myTable1 select top 1 field0, field1 from table1
declare @myTable2 table(field0 int,field3 varchar(255))
insert into @myTable2
select field0, field3 from table2
where @myTable1.field0 = @myTable2.field0
Come tornare @ myTable1 e @ myTable2 con il mio SP? La sintassi è addirittura corretta?
Le mie scuse, io sono ancora un novizio in SQL ...
EDIT:
Quindi, sto ricevendo un errore sull'ultima riga del codice qui sotto che dice: " deve dichiarare la variabile scalare "@ myTable1""
declare @myTable1 table(field0 int,field1 dateTime)
insert into @myTable1
select top 1 field0, field1
from someTable1 m
where m.field4 > 6/29/2009
select * from @myTable1
select *
from someTable2 m2
where m2.field0 = @myTable1.field0
Se evidenzio ed eseguire il codice fino al secondo select *
che funziona bene ... quando evidenzio il resto si comporta come la prima variabile non lo faesiste ...
EDIT2: Calcolato questo problema. Grazie ragazzi.
declare @myTable1 table(field0 int,field1 dateTime)
insert into @myTable1
select top 1 field0, field1
from someTable1 m
where m.field4 > 6/29/2009
select * from @myTable1
select *
from someTable2 m2
where m2.field0 = (select field0 from @myTable1)
Avrebbe dovuto chiedere prima, ma quale RDBMS stai usando? – JNK
Non funzionerà se non hai DECLARE @ Mytable1 nella stessa istruzione. Se si evidenzia solo l'ultima parte, DECLARE non è in quella query. queste variabili sono valide solo per una query e non persistono. – JNK
Microsoft SQL Server 2005 – EJC