0

MySQL クエリを実行して「table2」から行を削除しようとしていますが、「table1」の IF 列 = 「値」

私は2つのテーブルを持っています...

表 1 は「アカウント」と
呼ばれ、表 2 は「在庫品目」と呼ばれます。

「アカウント」の問題の列は「banned」と呼ばれます
「inventoryitems」の問題の列は「itemid」と呼ばれます

DELETE FROM inventoryitemsWHERE itemid= 2340000 IF... の列bannedaccounts値は1

追加情報:

と呼ばれる 3 番目のテーブルでテーブルaccountsを結合できます。inventoryitemscharacters

テーブルaccountsには次の列があります: id(主キー) とbanned.

charactersには次の列があります:characteridおよびaccountid(表内へのaccountidリンク)。idaccounts

テーブルinventoryitemsには列itemidcharacterid(テーブル内へのcharacteridリンク)がありますcharacteridcharacters

お役に立てれば。

4

3 に答える 3

1

DELETE FROM inventoryitems WHERE characterid IN (SELECT id from characters WHERE accountid IN (SELECT id from accounts WHERE banned = '1' ) ) AND itemid = '2340000';

于 2013-07-11T20:07:53.800 に答える
0

次のクエリは、 を使用してINNER JOINtable から 1 行を削除していますinventoryitems

DELETE i FROM inventoryitems i  
INNER JOIN characters c ON i.characterid = c.characterid 
INNER JOIN accounts a ON c.accountid = a.id 
WHERE i.itemid = 2340000 && a.banned = 1;
于 2013-07-10T23:55:04.230 に答える