问题标签 [ansi-sql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 在 SQL 中用主键克隆一行?
我正在尝试制作一些跨数据库(SQL Server 和 PostgreSQL)兼容的 SQL。我需要做的是克隆一行。最好在 SQL 服务器上本地执行此操作,而不必将整行下拉到我们的客户端并重新插入。此外,我们宁愿不必从头开始创建新的 SQL 查询,动态输入列名,但我想这是一个选项。
例如:我们有一个地址表,它是这样的表: address_rid: integer, primary key, auto-incrementing, not null address1: varchar(100) address2: varchar(100)
好吧,我们的目标是能够克隆这些行之一,以便 address1 和 address2 相同,但 address_rid 将像往常一样设置为下一个值。
你会怎么做呢?
另外,我已经看到了在 SQL 中克隆行的最快方法
其中有
p>我无法让这样的东西在 postgres 上工作,也无法default
在插入的主键上使用类似的东西。
编辑:另外,我也希望在 SQL Server 和 Postgres 上执行 2 个单独的查询,尽管我更愿意只维护 1 个查询。
我使用 C# ado.net 作为我的客户端。
sql - 删除具有非空 FK 约束的 MxN 关系中的所有条目
我有两个实体 A 和 B,它们通过中间表在 MxN 关系中相关,因此总共有三个表。我的关系表 R 对其他两个表具有不可为空的 FK 约束。
我想从表 A 和 B 和 R 中删除 A 服从某些约束的所有条目(例如,我可以提供 A 表中的 id)。
是否可以在不使用存储过程且不违反非空约束的情况下从三个表中删除条目?
我想要类似的东西:
sql - 从系统中选择任何
这些查询中的任何一个都可以在 SQL 中完成吗?
我想创建一个generate_series
,这就是我要问的原因。
sql - 查询表查找子表的匹配记录是否存在于ANSI SQL中
我有两个表 A 和 B,其中存在一对多关系。
现在我想要一些来自 A 的记录,并且这个存在字段显示 B 是否有任何匹配的记录。我不想使用该count
函数,因为 B 有太多记录会延迟 SQL 执行。要么我不想使用rownum
像下面这样的 Oracle 的专有关键字,因为我需要尽可能多的兼容性。
sql - 查询中派生列的早期(或重新排序)重用 - 这是有效的 ANSI SQL 吗?
这是有效的 ANSI SQL 吗?:
因为 Teradata (12) 可以做到这一点,也可以做到这一点(是的,不是很疯狂):
但是 SQL Server 2005 需要这样的东西:
sql - 为什么我需要在 SQL“GROUP BY”子句中显式指定所有列 - 为什么不用“GROUP BY *”?
这一直困扰着我——为什么 SQL 语句中的 GROUP BY 子句要求我包含所有非聚合列?默认情况下应该包含这些列 - 一种“GROUP BY *” - 因为我什至无法运行查询,除非它们都被包含在内。每列必须是聚合或在“GROUP BY”中指定,但似乎任何未聚合的内容都应自动分组。
也许它是 ANSI-SQL 标准的一部分,但即便如此,我也不明白为什么。有人可以帮我理解这个公约的必要性吗?
sql - 消除平均数值的子查询
寻求
查询选择所有以“Vancouver”开头且距离所有以“Vancouver”开头的位置中心 5 分钟范围内的点。例如,Vancouver South Fraser、Vancouver Fairview 和 Vancouver Ballantree Place W 的纬度和经度在其平均经纬度的 5 分钟内。纬度和经度存储为 (4915, 12311) 整数对(表示 49.15'N 和 123.11'W)。
SQL 代码
下面的 SQL 可恶就可以解决问题:
问题
如何在不使用视图的情况下简化此查询以消除冗余?
限制
数据库是 MySQL,但 ANSI SQL 总是很好。
谢谢!
sql - 如何使用 ANSI SQL 为一个简单的数据仓库编写这两个查询?
我正在编写一个简单的数据仓库,它允许我查询表以观察数据的周期性(比如每周)变化,以及数据变化的变化(例如每周销售额的每周变化)。
为简单起见,我将展示我在这里使用的表格的非常简化(几乎是微不足道的)版本。销售数据表是一个视图,具有以下结构:
出于这个问题的目的。我省略了您希望看到的其他字段 - 例如 product_id、sales_person_id 等,因为它们与这个问题没有直接关系。AFAICT,将在查询中使用的唯一字段是 sales_time 和 sales_amt 字段(除非我弄错了)。
我还有一个具有以下结构的日期维度表:
将日期划分为报告范围。
我需要编写允许我执行以下操作的查询:
返回指定时间段内每周sales_amt 的变化。例如今天的销售额和 N 天前的销售额之间的变化 - 其中 N 是一个正整数(在这种情况下 N == 7)。
返回指定期间 sales_amt的变化变化。在 (1) 中。我们计算了每周的变化。现在我们想知道这种变化与上周计算的(每周)变化有何不同。
然而,我被困在这一点上,因为 SQL 是我最薄弱的技能。如果 SQL 大师能解释我如何以与 DB 无关的方式(即使用 ANSI SQL)编写这些查询,我将不胜感激。
oracle - 使用 ansi sql 语法格式化数字
我在我的项目中使用了两个不同的数据库,Oracle 和 Apache Derby,并且正在尝试尽可能多地使用这两个数据库都支持的 ANSI SQL 语法。
我有一个带有列的表 amount_paid NUMERIC(26,2)
。
我使用 Oracle db 的旧代码需要以这种格式检索值
如何使用 ANSI sql 语法将数值转换为格式为 '9,999,999,999,999.99' 的字符串?
sql - 在 ANSI 语法 SQL 查询中放置条件的位置
这两个查询有什么区别?我一直拒绝加入 ANSI 语法潮流,因为我无法解开各种语法歧义。
1)返回连接的产品,然后才过滤掉那些权重> = 500的连接记录?并且是 2) 在加入之前过滤掉那些吗?
2 语法不好?为什么我可以使用它?
1:
2: