gpt4 book ai didi

mysql - 在 PostgreSQL 中运行 MySQL 查询时出错

转载 作者:搜寻专家 更新时间:2023-10-30 23:16:14 24 4
gpt4 key购买 nike

我用标准 SQL 编写了查询,并在 MySQL 中测试了它们。

现在,当我尝试在 PostgreSQL 中运行它们时,我遇到了各种各样的错误,我并不真正理解这些错误。这是在 MySQL 中有效的原始查询:

CREATE VIEW popularCSsections AS (
SELECT sect.csid, COUNT(sc.sid) as numStudents
FROM courseSection sect, studentCourse sc, department d
WHERE sect.csid = sc.csid
AND sect.dcode = d.dcode
AND dname = "Computer Science"
GROUP BY sect.csid
HAVING numStudents > 2
);

给出这个错误:

psql:a2tables:60: ERROR:  column "Computer Science" does not exist
LINE 8: AND department.dname = "Computer Science"
^

能否请您帮助我了解错误的性质并帮助我修复它们?


附加问题:

CREATE VIEW popularCSsections AS (
SELECT sect.csid, COUNT(sc.sid) as numStudents
FROM courseSection sect, studentCourse sc, department d
WHERE sect.csid = sc.csid
AND sect.dcode = d.dcode
AND dname = 'Computer Science'
GROUP BY sect.csid
HAVING numStudents > 2
);

错误:

psql:a2tables:70: ERROR:  column "numstudents" does not exist
LINE 8: HAVING numStudents > 2
^

最佳答案

您需要用单引号将字符串括起来:

 AND dname = 'Computer Science'

这里发生的事情是双引号被解释为“标识符引号”,表示您希望将内容解释为数据库标识符(列名或表名)。

关于mysql - 在 PostgreSQL 中运行 MySQL 查询时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13244294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com