2

以下の 3 つの表を使用して質問があります。

1. Company (table)
CONAME
COPOINTS

2. Group_Member (table)
CONAME
NAME

3. Member (table)
NAME
MPOINTS

次の条件で正しいクエリを作成したいと思います。

Update Member
Set MPOINTS=MPOINTS+5
Where Company.CONAME=Group_Member.CONAME
And
Group_Member.NAME=Member.NAME

上記のクエリを修正していただけますか?

4

3 に答える 3

1

T-SQL (MS-SQL Server ダイアレクト) では、これは次のようになります。

Update Member
   set MPOINTS = MPOINTS + 5
  from Group_Member 
       join Company on Company.CONAME = Group_Member.CONAME
 where Group_Member.NAME = Member.NAME

名前は、主キー関係にも外部キー関係にも適していないことを思い出してください。主キーの制約に違反しない限り、名前を変更することはできません。代わりに (数値、自動インクリメント) ID 列を使用してください。

于 2012-11-12T07:38:34.390 に答える
0

これを試して:

Update M
Set    MPOINTS=MPOINTS+5
from   Member M 
join   Group_Member GM
on     GM.NAME=M.NAME
join   Company C
on     C.CONAME=GM.CONAME
于 2012-11-12T07:38:37.137 に答える
0

SQL Server 2005 以降

UPDATE x
SET x.MPOINTS += 5
FROM (SELECT m.MPOINTS FROM Company c JOIN Group_Member g ON c.CONAME = g.CONAME
                                      JOIN Member m ON g.NAME = m.NAME) x
于 2012-11-12T07:44:12.230 に答える