【发布时间】:2021-09-12 12:43:20
【问题描述】:
我需要创建一个 SQL 查询,它可以给我在表 B 中具有第一和第二类别但在表 A 中只有第一类别行的行。 我的要求是将表 B 中该行的 TAX 更改为 0(我可以在检索该行后执行此操作并且我知道该怎么做)
表 A
CITY CATEGORY TAX
LONDON FIRST 20
LONDON SECOND 30
SYDNEY FIRST 80
PARIS SECOND 40
NEWYORK FIRST 30
表 B
CITY CATEGORY TAX
LONDON FIRST 20
LONDON SECOND 30
SYDNEY FIRST 80
PARIS SECOND 40
NEWYORK FIRST 30
NEWYORK SECOND 90
期望的输出
CITY CATEGORY TAX
NEWYORK SECOND 90
原始数据和表格更清晰:
CREATE TABLE TABLEA(CONTRACT TEXT, ID text, CLASS TEXT, ZONE TEXT, CHARGE TEXT, FST_SC TEXT, RATE TEXT, EFFECTIVE_DATE TEXT, PRIMARY KEY(CONTRACT,ID,CLASS,ZONE,CHARGE,FST_SC,RATE,EFFECTIVE_DATE));
CREATE TABLE TABLEB( CONTRACT TEXT , ID text, CLASS TEXT, ZONE TEXT, CHARGE TEXT, FST_SC TEXT, RATE TEXT, EFFECTIVE_DATE TEXT, PRIMARY KEY(CONTRACT,ID,CLASS,ZONE,CHARGE,FST_SC,RATE,EFFECTIVE_DATE));
INSERT INTO TABLEA VALUES('MS','US','UE',' ','NR','FIRST','15','09/23/2021');
INSERT INTO TABLEB VALUES('MS','US','UE',' ','NR','FIRST','15','09/23/2021');
INSERT INTO TABLEB VALUES('MS','US','UE',' ','NR','SECOND','15','09/23/2021');
DESIRED OUTPUT 行是 TABLEB 的第 2 行 - 'second' one
【问题讨论】:
-
请分享示例数据的创建表和插入脚本。每个人都可以轻松提供解决方案。
-
我已编辑问题以正确表示表格,我只需要使用 SELECT 语句检索所需的行,以便将其存储到变量中。仅 SELECT 语句部分需要帮助...请帮助
-
您好阿曼,感谢您提供解决方案。我已经尝试过这个,但由于多个主键,我遇到了问题。因此,我发布原始数据和表结构以寻求帮助。在问题末尾添加了详细信息....
-
您是否检查了共享脚本。脚本抛出错误。
标签: mysql sql join not-exists