teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

推敲

2021/07/09 09:08

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -6,7 +6,7 @@
6
6
  where XFamilyT.MemberID
7
7
  ```
8
8
  「XFamilyT.MemberID」をbooleanとして判定している事になるので、
9
- 0じゃなければFalseとなり、何も削除されません
9
+ 削除されないのならFalse判定されているのでしょう
10
10
 
11
11
  > 重複したMemberIDを1列(片方のデータ)だけ削除(Ageはそのままに)して
12
12
 

1

追記

2021/07/09 09:08

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -6,4 +6,18 @@
6
6
  where XFamilyT.MemberID
7
7
  ```
8
8
  「XFamilyT.MemberID」をbooleanとして判定している事になるので、
9
- 0じゃなければFalseとなり、何も削除されません。
9
+ 0じゃなければFalseとなり、何も削除されません。
10
+
11
+ > 重複したMemberIDを1列(片方のデータ)だけ削除(Ageはそのままに)して
12
+
13
+ 削除は、行単位で行うものですので、カラムの内容を消去するのが目的なら、UPDATEです。
14
+
15
+ また、削除で他のテーブルを条件にする場合、以下の方が明確です。
16
+ ```SQL
17
+ delete from XFamilyT
18
+ where MemberID in (
19
+ select MemberID
20
+ from XMemberT
21
+ where XFamilyT.MemberID -- 条件は見直し
22
+ )
23
+ ```