我正在尝试使用该EXCEPT
子句从表中检索数据。我想从中获取table1
除存在的行以外的所有行table2
。据我了解,以下内容不起作用:
CREATE TABLE table1(pk_id int, fk_id_tbl2 int);
CREATE TABLE table2(pk_id int);
Select fk_id_tbl2
FROM table1
Except
Select pk_id
FROM table2
我可以使用的唯一方法EXCEPT
似乎是从相同的表中选择,或者从不同的表中选择具有相同列名的列。
有人可以解释一下如何最好地使用解释子句吗?
您的查询似乎完全有效:
SELECT fk_id_tbl2 AS some_name
FROM table1
EXCEPT -- you may want to use EXCEPT ALL
SELECT pk_id
FROM table2;
列 名 与查询无关。只有 数据类型
必须匹配。您的查询的输出列名称为fk_id_tbl2
,仅因为它是first中的列名称SELECT
。您可以使用任何别名。
经常被忽略的是:(EXCEPT
折叠重复项)和EXCEPTALL
-之间的细微差别,使所有单独的不匹配行保持一致。
EXCEPT
手册中的详细信息。
问题内容: 我有这样的查询: 出现以下错误: 在MySql中,这是有效的,但显然在Postgresql中是无效的。据我所知,原因是查询部分的评估晚于该部分。是否有解决此问题的常用解决方法? 问题答案: 正如您所经历的那样,MySQL的支持是非标准的。正确的方法是重新打印SELECT子句中使用的相同表达式:
问题内容: 假设我有此表:named = the_table, 其结构为: PostgreSQL的: MySQL: 然后我插入了表格: 现在该表如下所示: 当我执行此查询时: 然后在mysql中,我得到: 在PostgreSQL中,我得到了错误: 我的问题: 这个错误是什么意思?什么是集合函数? 当它在MySQL中工作时,为什么不能在postgreSQL中工作? 问题答案: 您需要使用AGGREG
问题内容: 这是将python“ with”语句与try-except块结合使用的正确方法吗? 如果是这样,请考虑使用旧的处理方式: 这里的“ with”语句的主要好处是我们可以摆脱三行代码吗? 对于这个用例,这 似乎并不吸引我(尽管我知道“ with”语句还有其他用途)。 编辑:以上两个代码块的功能是否相同? EDIT2:前几个答案大体上谈及使用“ with”的好处,但是这里似乎没有什么好处。我
问题内容: PostgreSQL文档中将ORDER BY子句描述为: 有人可以给我一些使用方法的例子吗?是否有可能获得结果集的交替顺序? 问题答案: 一个非常简单的示例是: 但这很无聊,因为这是传统方式无法做到的。 同样,标准目录中没有提及任何奇怪的比较功能/运算符。您可以获得它们的列表: 您会注意到,主要有和函数用于基本类型,例如,等等,还有更多函数用于数组和向量等等。这些操作员都无法帮助您获得
问题内容: 我在SO上找到了一些主题,但是仍然找不到适合我的查询的设置。 这是查询,在本地主机上运行得很好: 但是在Heroku上,我 遇到了-GROUP BY子句 上面的错误, 或者在聚合函数中使用 。 然后,我在某处读到,我应该指定表中的所有列,因此我尝试了以下操作: 但这在本地主机上不起作用,在Heroku上也不行… 什么是查询的正确配置? 问题答案: 我认为您正在尝试在同一列上进行汇总和分
问题内容: 可以说我有这样的第一张桌子 分支表 第二张桌子是这样的 余额表 我想查询余额表,其中每一行包含分支表的名称。例如分支表中的“ 123456ABC”,我想从余额表中获取“ ABC”行 我怎样才能做到这一点?到目前为止,我还没有尝试过这个查询 有什么建议吗? 问题答案: 你应该 转换 了的名称模式: 联接看起来更易读: