我不确定为什么,但当我按照示例(来自ms sql服务器中的northwind数据库)通过键入如下所示的代码在Microsoft SQL Server Management Studio 2008上执行子查询时,
Select Orders.OrderID,
(Select Customers.CompanyName
From Customers
Where Customers.CustomerID = Orders.CustomerID) As Company Name
From Orders,
Customers
我有一个生产SQL服务器和一个链接服务器(Azure SQL数据库)
我加入两个表来进行更新。
Table A - small table A in TempDB that has only 100 rows on SQL Server
Table B - on linked server, is about 90 MB in size and 334,000 rows total
当我在查询下面运行时
update A
set A.ColumnA = B.ColumnB
from #Table A
join [LinkedServer].[DB].[dbo].[Table]
将网站从oracle server迁移到sql server。我们使用下面的类型queries.We,有几个表和连接,就像下面这样的.For示例
Select *
from Job_master J,
Batch_master B
where J.BUS_DATE (+)= B.BUS_DATE
.Do除了将所有查询转换为使用右外连接或左外连接之外,我们还有其他任何解决方案。
int id =2 ;
(from t1 in Table1
join t2 in Table2
on new { t1.id, id} equals new { t2.id, t2.otherid }
select t1).ToList();
当前,上面的查询给出了一个编译错误:
一个联接表达式上的类型不正确。
正如您在上面的查询中所看到的,我希望像在sql中一样,对单个整数值进行连接。我希望这样做,这样查询就更快了,而且我不想在末尾执行where,因为这意味着它将得到所有的行,然后使用where子句进行筛选。由于两个表中都有很多行,所以如果我能够在join子句本身上筛选行,那就更好
目前,我的应用程序使用两个单独的文本框正常工作,用户输入一个sku和一个订单号,然后单击一个按钮运行SQL查询。为了使这个应用程序更有效率,我希望允许用户在多行文本框中输入订单列表,但我不确定如何设置变量以将列表传递给我的查询。
当前状态:
Private Sub btnCancelLines_Click(sender As Object, e As EventArgs) Handles btnCancelLines.Click
MdiParent = Toolbox
Try
Dim orderNum As String = CStr(txtOrder.Te
分配性,在数学意义上是指:
f(a + b) = f(a) + f(b)
现在我有了这个SQL脚本,通常如下所示:
SELECT ... FROM ... LEFT JOIN (
Subquery_A
UNION ALL
Subquery_B
UNION ALL
...
UNION ALL Subquery_Z
)
查询是数学分布的。
也就是说,我能把它分解成
SELECT ... FROM ... LEFT JOIN (Subquery_A)
UNION ALL
SELECT ... FROM ... LEFT JOIN (Subquery_B
您好,我在SQL Server CE上尝试了一个包含左外部联接的select查询,它需要大约30秒才能执行。
然后,我将相同的查询更改为内部连接,所用时间不到1秒。
同样的外部查询在SQL server2008上非常快。
有人知道这是为什么吗?
另外,这个性能问题的修复方法是什么?
我正在考虑2个查询,我联合起来,但我不喜欢这个解决方案,真的导致代码重复。
谢谢
编辑:
另一个性能较差的查询是select * from table where item not in (select item from table2)
真的很奇怪,但是这个查询需要更改为left outer join,所以性能是
我在IIS上运行Classic ASP,并使用以下代码创建到SQL Server数据库的连接的脚本:
Dim adoConn As Object
adoConn = Server.CreateObject("ADODB.Connection")
adoConn.Open ("Provider=SQLOLEDB; Data Source=localhost; Initial Catalog=Engineering_Test; User ID=*********; Password=*******")
然后,我从这个连接上运行SQL select查询,如下所示:
D
我有一个Sql Server reporting services项目。我有一个名为Total的数据集查询,其中我根据一个参数选择某些数据:
select ...
from ...
group by ...
having prop_id = @PropID
现在,为了填充此参数的多个值的列表,我有一个名为AllProps的数据集查询,它选择所有可能的prop_id:
select prop_id from proposal
order by prop_id
现在,在报表数据窗格中,我从@PropID中选择参数属性,并按如下方式填写表单:
Under General I have,
我有一个很长的存储过程,它运行select语句。我想在结尾添加的语句将在查询字符串中工作。是否可以在Server中作为硬编码语句的一部分执行查询字符串?
SELECT *
FROM INV_DATA
WHERE 1 = 1
AND MY_ID =
SET @SQL = @SQL + ' SELECT id FROM people WHERE id =
CASE WHEN NOT EXISTS (SELECT ... WHERE storeID = (CASE WHEN ...@ACT_METHOD = ...)) AND ...'
我正在开发与Oracle连接的Oracle。我遇到了这个SQL,我不确定它是否在做应该做的事情,所以我想在这里问一问。所讨论的SQL如下所示:
select tableA.id, tableA.name, tableB.details
from tableA
left join tableB on
tableB.id = tableA.id
and
tableB.logId = '<logged_in_user>'
现在,当我作为一个在tableB中没有条目的用户登录时,当这个查询运行时,我仍然得到记录。我的假设是,这个子句应该是'and',而不
我有一个名为phone的表,包含所有成员的电话号码,每个成员都有唯一的id,还有另一个名为post的表,post表有许多行,每个post有其成员id和另一个单元格。
我需要根据分支单元格从posts表中收集所有成员IDs,并删除从posts表中收集的成员ids的电话表。
我尝试过这样做,但是它给了我一个错误消息: mysql服务器失去了连接。
delete from `phones` where `mid` in(select `uid` from `posts` where `branches` = 'contact');
注意:我在本地服务器上使用mysql工作台
更新
在
我正在使用SSIS合并连接sql服务器数据(左)和oracle数据(右)。在合并连接之前,两个数据集都是在源位置排序的。当oracle源只返回一行时,它工作得很好,但当它返回多行时就不行了。即使有几行有匹配的数据,合并连接后也不会返回数据。下面是我的流程:
更多信息:
两者都是预先排序的(源查询中的order by )。oracle源列EXTERNLAL_ID在查询中被转换为整数,即CAST(EXTERNAL_ID AS INTEGER),因此在合并连接之前,两个连接键都以DT_I4结束。
示例: SQL Server source有三行,UNIQUEID:1,2,3;Or
我参与的一个项目中,大部分查询都是通过在FROM子句中包含多个表来执行的。我知道这是合法的,但我一直使用显式连接。
例如,两个表(使用SQL Server DDL)
CREATE TABLE Manufacturers(
ManufacturerID INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
Name varchar(100))
CREATE TABLE Cars (
ModelID INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
ManufacturerID INT CONSTRAINT
我不是SQL专家(我试图完成作业-显然,越快越好),我不知道我给您的信息是否足以解决问题。我使用的是SQL Server、SQL Management studio。
在本例中,我在"a“表和"o”表上有一个连接查询。
这两个表连接在一个列上(假设o.customer = a.customer),但是它们分组在另一个列(o.opportunity)上,而这在表a中不存在。
sum(case
when a.ActivityTypeCode=4202 and a.actualend>o.createdon
then 1
else 0 end)
as Feature_Name
我有一个SQL查询,如下所示。 SELECT ID, Data1, DataFromTable2
FROM Table1
LEFT JOIN Table2 on Table1.ID = Table2.ID
WHERE ID = 1 我正在尝试连接两个表,其中Table2 (包含具有相同ID的多个行)。我想把多行合并成一行。 我在这里找到了一个将多行合并为一行的帖子。SQL Server: combining multiple rows into one row DECLARE @combinedString VARCHAR(MAX)
SELECT @combinedString = COAL
我需要为下面的逻辑编写Oracle查询,非常感谢您的任何帮助。
我有一个包含8列的表,其中需要考虑特定业务逻辑的3列。
表数据(3列)
A B C
071699 01 I
071699 01W
071699 02W
071699 01W I
071699 02W
更多的行。
数据量因情况而异,这意味着它可能是每列at组合中的一行或多行,并且通常在这些列C中填充至少一个组合