我们正在尝试从您的统计数据库中删除所有关于Banana Republic的数据

问题描述 投票:-1回答:2

我们正在尝试删除所有包含Account name = Banana Republic ....数据的行。

到目前为止,我们有:

Delete Account_T
From Account_T 
Join Program_T
Where Account_T.AccountName = Program_T.AccountName 
And AccountName = ‘Banana Republic’

以下是表格:

create table Program_T
    (AccountName varchar(150) not null unique,
    ProgramID int not null,
    Revenue int,
    Advocates int,
    Shares int,
    Conversions int,
    Impressions int,
    LaunchDate date,
    CSMID int not null,
    constraint Program_PK primary key (AccountName, CSMID),
    constraint Program_FK1 foreign key (AccountName) references Account_T(AccountName),
    constraint Program_FK2 foreign key (CSMID) references CSM_T(CSMID));

和Account_T表:

create table Account_T
    (AccountName varchar(150) not null unique,
    Health varchar(10) not null,
    EcommercePlatform varchar(50),
    CSMID int not null,
    Industry varchar(50),
    Amount int not null,
    constraint Accounts_PK primary key (AccountName),
    constraint Accounts_FK foreign key (CSMID) references CSM_T(CSMID));
mysql sql join sql-delete
2个回答
0
投票

为什么不做两个deletes?

delete a from Account_T a
    where AccountName = 'Banana Republic';

delete p from Program_T p
    where AccountName = 'Banana Republic';

0
投票

你在Banana Republic之前和之后使用了坏人物。

写这样的查询:

DELETE Account_T
FROM Account_T AS A
JOIN Program_T AS P
    ON A.AccountName = P.AccountName
Where A.AccountName = 'Banana Republic'

我写了DELETE,但不要忘记总是先用SELECT测试!

ON子句与JOIN一起使用而不是WHERE中的关节条件,重要的是尊重这一点。

© www.soinside.com 2019 - 2024. All rights reserved.