SELECT MD.*, Contact.FirstName
FROM MerchantData MD
JOIN Merchant M ON M.MerchID = MD.MerchID
JOIN (SELECT TOP 1 * FROM Location WHERE Location.BusID = MD.BusID) L ON L.BusID=MD.BusID
AND L.Deleted = 0
JOIN Contact ON Contact.ContactID = L.PrincipalID
Run Code Online (Sandbox Code Playgroud)
我正在使用SQLSERVER 2008并尝试编写此SQL语句.有时候busid有多个位置,我想只加入第一个找到的位置.我在"Location.BusID = MD.BusID"部分收到错误,因为MD.BusID无法绑定.是否可以在此联接中的嵌套选择语句中使用MD表,还是有另一种方法可以实现此目的?
我正在通过列列表中的嵌套查询来放置数据,以便在那里干净地获取联系人数据.
SELECT MID, FAD.FirstOpenedDate ,LCD.LastCloseDate
FROM mwMaster.dbo.Merchant M
JOIN (
SELECT MerchID, MIN(moddate) AS FirstOpenedDate
FROM mwMaster.dbo.MerchantStatusHistory
GROUP BY MerchID
) FAD ON FAD.MerchID = M.MerchID
LEFT JOIN (
SELECT MerchID, MAX(moddate) AS LastCloseDate
FROM mwMaster.dbo.MerchantStatusHistory
GROUP BY MerchID
) LCD ON LCD.MerchID = M.MerchID
JOIN (
SELECT merchid ,avg(Transactions) ,avg(Profit)
FROM mwMaster.dbo.ResidualSummary RS
WHERE RS.Date_Processed < LCD.LastCloseDate
GROUP BY Merchid
) R ON R.MerchID = M.MerchID
Run Code Online (Sandbox Code Playgroud)
我在执行以下加入时遇到问题.我之前遇到过这个问题并使用临时表但想知道我做错了什么.基本上不起作用的线是倒数第三."<LCD.LastClostDate"表示无法绑定.是否可以使用我在上面的嵌套查询中创建的LCD值(在该查询中我以类似的方式使用M表,但我没遇到任何问题)?我在想,因为LCD表是动态创建的,它不能在嵌套查询中使用,但这只是我的猜测.
有任何想法吗?
另外,我还看到人们使用CROSS和OVER.不熟悉它是如何工作的,但可能适用于此处?
我有一群人.让我们称他们为A,B,C.我有一张桌子,显示他们每个月的工资是多少....
PERSON|MONTH|PAID
A JAN 10
A FEB 20
B JAN 10
B FEB 20
B SEP 30
C JAN 10
C JUNE 20
C JULY 30
C SEP 40
Run Code Online (Sandbox Code Playgroud)
这张表可以并且确实会持续多年和多年.
有没有办法透过这个表(没有什么,因为我看到真正需要聚合,这通常在枢轴中完成)在一个看起来如下的表?
JAN FEB MAR APR MAY JUN JUL AGU SEP
A 10 20
B 10 20 - - - - - - 30
C 10 - - - - 20 30 - 40
Run Code Online (Sandbox Code Playgroud)
以前没有碰到这样的事情但是假设这是一个常见的问题吗?
我正在用SQL编写一个小查询,并且正在讨论一个似乎有人必须遇到的问题.我想找到两个日期之间的月数.我正在使用像......这样的表达式
DATEDIFF(m,{firstdate},{seconddate})
Run Code Online (Sandbox Code Playgroud)
但是我注意到这个函数计算了日期越过月度阈值的时间.在例子中......
DATEDIFF(m,3/31/2011,4/1/2011) will yield 1
DATEDIFF(m,4/1/2011,4/30/2011) will yield 0
DATEDIFF(m,3/1/2011,4/30/2011) will yield 1
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何找到两个日期之间的月份更多 - 所以基于时间过去然后时间超过月度门槛?
我想知道是否有人知道一个好的网站显示使用TFS 2010的API的例子.
我想开发一个项目,允许团队查看其他团队成员已签出的文件/项目.它只是一个系统用户可以看到开发人员目前正在开发哪些项目.有没有人有这方面的经验,可以提供入门建议?
我将在.NET(C#OR VB)中开发,应用程序将使用SQL Server 2008数据库.
我有一个调用存储过程的BCP进程.通常,我一直在执行此存储过程并将数据复制到Excel工作表,我将所有列指定为文本并将其另存为CSV.
我需要自动完成这项工作,并且一直在使用BCP命令,但到目前为止还存在问题.我的数据中有逗号,它将数据向左移动.这是我可以用格式文件或类似的东西克服的吗?
我宁愿不在proc本身的输出中引用它们.
我正在使用C#开发.NET应用程序.当用户开始从文本框中删除文本时,浏览器会显示最近输入的数据的小列表(几乎就像下拉列表).项目所有者删除了什么.我相信它是由浏览器自动完成的,因为我从未在我的设计中记录数据或实现过.有没有人知道这个内置功能的名称,甚至更确切地知道如何完全禁用它(最好是所有浏览器).如果可能的话,我想在JQuery的客户端实现这一目标.我这样说是因为我有动态添加文本框的地方.
我正在看几行VB代码,我不知道为什么最后一个WriteLine失败.看起来好像该ToUpper()函数正在尝试被评估(如果不在字符串上调用此函数将起作用),即使条件明确地计算为false并且应该在此示例中仅输出"mydefault"硬编码字符串.我知道Nothing关键字与defaultC#中的关键字类似,但我认为问题的关键在于IIF函数如何评估它的树.
有谁知道这段代码抛出NullReferenceException的原因?
Module Module1
Sub Main()
Dim x As String = "a"
Console.WriteLine(String.Format("y:{0}", IIf(String.IsNullOrEmpty(x) OrElse x Is Nothing, "mydefault", x.ToUpper())))
Dim y As String = String.Empty
Console.WriteLine(String.Format("z:{0}", IIf(String.IsNullOrEmpty(y) OrElse y Is Nothing, "mydefault", y.ToUpper())))
Dim z As String = Nothing
Console.WriteLine(String.Format("x:{0}", IIf(String.IsNullOrEmpty(z) OrElse z Is Nothing, "mydefault", z.ToUpper())))
Console.ReadLine()
End Sub
End Module
Run Code Online (Sandbox Code Playgroud) 我有一些在VS2008中构建的SSIS包我试图设置为使用SQL Server代理按计划运行.我无法弄清楚如何部署这些.我可以从我的文件系统的路径本地运行这些,但无法弄清楚如何部署到MSDB.有没有人有这方面的经验?
我们目前正在使用TFS 2010源代码控制.我有一个我想要回滚的更改集但我想检查所有包含的文件并在检查旧代码之前保存它们.有谁知道这是否可能?有很多文件,我不想通过手工检查它们.