[英]Delete from 'table2' where column = 'value' IF column in 'table1' = 'value'
我正在尝试执行MySQL查询以从'table2'中删除行,其中'table1'='value'中的column ='value'IF列
我有2张桌子...
表1称为“帐户”
表2称为“库存物品”
有问题的“帐户”列称为“已禁止”
有问题的“库存物品”列称为“ itemid”
我想从inventoryitems
WHERE itemid
= 2340000
删除...如果accounts
中banned
的列的值为1
额外的信息:
您可以通过第3个称为characters
的表将表accounts
加入inventoryitems
。
表accounts
具有以下列: id
(主键)和banned
。
表characters
包含以下列: characterid
和accountid
( accountid
链接到表accounts
id
)。
表inventoryitems
有列itemid
和characterid
( characterid
链接characterid
表characters
)
希望这可以帮助。
DELETE FROM inventoryitems WHERE characterid IN (SELECT id from characters WHERE accountid IN (SELECT id from accounts WHERE banned = '1' ) ) AND itemid = '2340000';
以下查询使用INNER JOIN
从表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;
尝试一下,因为我从您的评论中获悉,可以通过这种方式加入他们。
DELETE FROM inventoryitems WHERE characterid IN
(SELECT characterid from characters WHERE accountid IN
(SELECT id from accounts WHERE banned = 1))
AND itemid = '2340000';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.