当我运行此查询时
SELECT CustomerId FROM Stocks.dbo.Suppliers
Run Code Online (Sandbox Code Playgroud)
它给了我这个错误.列名称'CustomerId'无效.此错误有效,因为Suppliers表中没有列CustomerId; 但是当我在子查询中使用相同的查询时,它不会给出任何错误.例如
SELECT *
FROM SomeOtherDb.dbo.Customer
WHERE CustomerId In( SELECT CustomerId
FROM Stocks.dbo.Suppliers)
Run Code Online (Sandbox Code Playgroud)
在这里,我期待相同的错误"无效的列名称",但查询运行没有任何错误.
完全限定名称只是惯例,两个dbs都在同一台服务器上.
CustomerId确实存在于SomeOtherDb.dbo.Customer表中,但不存在于子查询中.
为什么会这样?这是子查询的东西吗?
谢谢.
我们遇到了编码不良的SQL函数的问题(在现场工作正常,但在我们的测试环境中没有).此函数用于在许多表中提供默认值,尝试ALTER函数返回"无法更改###,因为它正被对象引用"错误.
有没有办法绕过这个错误信息?我能想到的唯一方法是尝试编写一个脚本,将其从每个默认情况下的表中删除,改变函数并在之后重新添加.
谢谢
我想编译一个使用用户提供的凭据连接到远程数据库的设置,然后使用.sql脚本安装几个db组件.
可以使用Inno Setup吗?
更多细节:
我想要一个自定义表单,要求用户输入数据库地址和凭据,然后运行一个命令,该命令将执行将更新远程数据库服务器的sql脚本.
如果更新成功 - 请成功完成安装.
这是一个相当笼统的问题 - 我有很多自定义设置应该连接到不同的服务器/运行不同的脚本 - 我们的想法是构建一个提供此功能的通用表单.
我有SQL Compact Database,其中包含一个IP包头的表.表格如下:
Table: PacketHeaders
ID SrcAddress SrcPort DestAddress DestPort Bytes
1 10.0.25.1 255 10.0.25.50 500 64
2 10.0.25.50 500 10.0.25.1 255 80
3 10.0.25.50 500 10.0.25.1 255 16
4 75.48.0.25 387 74.26.9.40 198 72
5 74.26.9.40 198 75.48.0.25 387 64
6 10.0.25.1 255 10.0.25.50 500 48
Run Code Online (Sandbox Code Playgroud)
我需要执行查询以显示在本地网络上进行的"对话".从A - > B开始的数据包是与来自B - > A的数据包相同的对话的一部分.我需要执行查询以显示正在进行的对话.基本上我需要的是这样的东西:
Returned Query:
SrcAddress SrcPort DestAddress DestPort TotalBytes BytesA->B BytesB->A
10.0.25.1 255 10.0.25.50 500 208 112 96
75.48.0.25 387 74.26.9.40 198 136 72 64
Run Code Online (Sandbox Code Playgroud)
如您所见,我需要查询(或一系列查询)来识别A-> B与B-> A相同并相应地分解字节计数.无论如何我不是SQL大师,但对此的任何帮助都将非常感激.
我期待创建一个临时表,在编译报表时用作中间表.
有点背景我将VB 6应用程序移植到.net
要创建表我可以使用...
SELECT TOP 0 * INTO #temp_copy FROM temp;
Run Code Online (Sandbox Code Playgroud)
这会创建一个空的temp副本,但它不会创建主键
有没有办法创建临时表加上约束?
我之后应该创建约束吗?
或者我最好只使用create table创建表,我不想这样做,因为表中有45列,它会填充大量不必要的过程.
该表是必需的,因为很多人可能同时生成报告,因此我不能使用单个中间表
我正在尝试为sqlite编写一个触发器,并且遇到各种各样的问题.事实上,我认为我的真正问题在于我在sql语言中的糟糕背景.无论如何这里...
我有两个表Table1和Table2.Table1有一个名为time的列(64位整数时间).我需要一个触发器来监视Table1中插入的新行.如果Table1中有3行或更多行的时间大于X(以下示例中的硬编码值为120秒),我需要在Table2中插入一个新行.
这是我到目前为止(注意这不起作用)
CREATE TRIGGER testtrigger AFTER
INSERT ON Table1 WHEN
(
SELECT COUNT() AS tCount FROM
(
SELECT * FROM Table1 WHERE
time > (NEW.time - 120)
) WHERE tCount > 3
)
BEGIN
INSERT INTO Table2 (time, data) VALUES
(NEW.time, 'data1');
END
Run Code Online (Sandbox Code Playgroud)
那些在SQL上比我更好的灵魂?
当我在DB2表上删除带有SQL请求的行时,我想在敏感表上添加安全性.
我想模仿MySQL允许您限制SQL请求中删除的行数的方式.
基本上我想用DB2做这个:
DELETE FROM table WHERE info = '1' LIMIT 1
Run Code Online (Sandbox Code Playgroud)
有没有办法用DB2做到这一点?
我有一个SQL查询:
select id, name from table order by name
Run Code Online (Sandbox Code Playgroud)
结果如下:
52 arnold
33 berta
34 chris
47 doris
52 emil
Run Code Online (Sandbox Code Playgroud)
对于给定的id = 47,我如何确定结果集中的位置?结果应该是4因为:
52 arnold
33 berta
34 chris
Run Code Online (Sandbox Code Playgroud)
在(47,doris)之前,id = 41在结果集中的第4个位置.
如何在SQL中执行此操作?怎么用HQL?在一个分页示例中,我是否必须执行2个语句,或者是否有一个解决方案,我可以准确检索包含id = 47的行的窗口?
postgreSQL和java
我正在使用此查询来获取一些特定数据:"select*from emp where emp_name LIKE's%'";
emp_nam是字符字段,如何在数字字段中使用相同的逻辑条件?就像是:
"select*from emp where emp_id ????
其中emp_id是数字字段.
谢谢,
我刚刚在我的数据库中添加了一个新列,我需要使用特定的文本值(已确认)进行传播.是否有一种简单的方法可以应用于我的所有数据条目,因此我不必遍历所有行并输入值?
谢谢
sql ×10
sql-server ×3
t-sql ×3
constraints ×1
count ×1
db2 ×1
function ×1
inno-setup ×1
jet ×1
limit ×1
ms-access ×1
sqlite ×1
subquery ×1
triggers ×1