2017-10-25 7 views
0

。だから私は基本的にここで のデータのコピーMS SQL

tblFixtures Columns: Player1 resultPLayer1 Player2 ResultPlayer2, CompID 
         john  5   stu   2  (Guid) 
         dave  0   max   5  (Guid) 

tblEntrants Columns: AccountID, CompID 
         john (Guid) 
         dave (Guid) 

は、私がこれまで試してみましたが、それは動作しないものだ。このような tblEntrantsの列 AccountIDで作成された受賞者のリストを...したい...

INSERT INTO tblEntrants(AccountID,compID) SELECT(CASE WHEN (SELECT resultplayer1 FROM tblfixtures) > (SELECT resultplayer2 FROM tblfixtures) THEN (SELECT player1 FROM tblfixtures) END), @compID 

INSERT INTO tblEntrants(AccountID,compID) SELECT(CASE WHEN (SELECT resultplayer2 FROM tblfixtures) > (SELECT resultplayer2 FROM tblfixtures) THEN (SELECT player2 FROM tblfixtures) END), @compID 

答えて

0

あなたが使用することができますこの。

INSERT INTO tblEntrants(AccountID,compID) 
SELECT CASE WHEN ResultPlayer2 > resultPLayer1 THEN Player2 ELSE Player1 END, CompID 
FROM tblfixtures 
+0

で単一SELECTステートメントを使用してそれを行うことができ、ありがとうございました。私はそれが簡単だと分かっていましたが、私はまだここで学んでいます。よく働く。 –

+0

あなたは大歓迎です! –

1

これを試して:あなたがCASE

INSERT INTO tblEntrants(AccountID,compID) 
SELECT 
    CASE WHEN resultPLayer1 > ResultPlayer2 THEN player1 ELSE player2 END, @compID 
FROM tblFixtures 
関連する問題