/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Insert ... Select ???
Fra : stk


Dato : 15-06-01 11:10

Jeg vil gerne insætte data fra to tabeller (T1 og T2) i en enkelt
tabel(T3) via en Stored Procedure:
INSERT INTO T3(UserID, UserName, Email)
SELECT UserID FROM T1 WHERE GUID=xxx
SELECT FeltVærdi FROM T2 WHERE GUID=xxx AND FeltNavn=UserName
SELECT FeltVærdi FROM T2 WHERE GUID=xxx AND FeltNavn=Email

T1:
GUID UserID
xxx BGATES

T2:
GUID FeltNavn FeltVærdi
xxx UserName Bill Gates
xxx Email b.gates@whatever

T3:
UserID UserName Email
BGATES Bill Gates b.gates@whatever

Jeg kan ikke helt gennemskue syntaxen for sådan en insert ... select
ting.
Nogle ideer?

--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


 
 
Peter Lykkegaard (15-06-2001)
Kommentar
Fra : Peter Lykkegaard


Dato : 15-06-01 13:26


"stk" <stk.news@kandu.dk> wrote in message
news:_8lW6.1548$hi6.175851@news000.worldonline.dk...
> Jeg vil gerne insætte data fra to tabeller (T1 og T2) i en enkelt
> tabel(T3) via en Stored Procedure:
>
> Jeg kan ikke helt gennemskue syntaxen for sådan en insert ... select
> ting.
> Nogle ideer?

BOL (Books Online) giver dig det (for det meste) du skal bruge
Jeg går udfra at det er MSSQL? - siden du nævner stored procedures

Du kan evt erklære nogle variabler

------------------------------------
Declare @UserID VarChar(50),
@UserName VarChar(50),
@Email VarChar(50)

Set NoCount On
Select @UserID = UserID From T1 Where GUID=xxx
Select @UserName = FeltVærdi From T2 Where GUID=xxx AND FeltNavn=UserName
Select @Email = FeltVærdi From T2 Where GUID=xxx And FeltNavn=Email
Insert Into T3 (UserID, UserName, Email)
Values (@UserID, @UserName, @EMail)
Set NoCount Off
------------------------------------

mvh/Peter Lykkegaard



Bo Larsson (15-06-2001)
Kommentar
Fra : Bo Larsson


Dato : 15-06-01 15:21

On Fri, 15 Jun 2001 10:09:44 GMT, "stk" <stk.news@kandu.dk> wrote:

>T1:
>GUID UserID
>xxx BGATES
>
>T2:
>GUID FeltNavn FeltVærdi
>xxx UserName Bill Gates
>xxx Email b.gates@whatever
>
>T3:
>UserID UserName Email
>BGATES Bill Gates b.gates@whatever
>

INSERT T3
SELECT T1.UserID, T2_1.Feltværdi AS 'UserName', T2_2.Feltværdi AS
'email'
FROM T1 INNER JOIN T2 AS T2_1
ON T1.GUID = T2_1.GUID
AND T2_1.Feltnavn = 'Username'
INNER JOIN T2 AS T2_2
ON T1.GUID = T2_2.GUID
AND T2_2.Feltnavn = 'email'
WHERE T1.GUID = 'xxx'

--
Bo Larsson

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste