我有一个返回大量结果的存储过程,并希望有一种更好的方法来调试/解析结果,而不是复制/粘贴到excel或其他任何东西 - 有没有办法将过程的结果传递给查询?例如,如果程序调用是这样的:
exec database..proc 'arg1','arg2','arg3'
Run Code Online (Sandbox Code Playgroud)
我的想法是做一些像:
select distinct column1 from
(exec database..proc 'arg1','arg2','arg3')
Run Code Online (Sandbox Code Playgroud)
这显然不起作用,或者我不会在这里.如果重要,那就是sybase数据库.
谢谢!
我想将文件的位置作为超链接写入eclipse控制台。当您单击它时,应在eclipse中打开文件。我目前正在做类似的事情(但链接未显示)
console = new MessageConsole("myconsole", null);
console.activate();
ConsolePlugin.getDefault().getConsoleManager().addConsoles(new IConsole[]{ console });
IPath path = Path.fromOSString(filePath);
IFile file = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(path);
FileLink fileLink = new FileLink(file, null, 0, 0, 0);
console.addHyperlink(fileLink, 0, 0);
Run Code Online (Sandbox Code Playgroud)
我可能不应该为偏移量,文件长度参数等传递0。
任何帮助表示赞赏。
这是场景.有问题的列称为'datein',它的类型是'datetime'.对于'datein',我有三行,值为'2009-10-01 00:00:00.000'.为什么此查询返回上述行?
SELECT *
FROM t_call AS tc
WHERE tc.datein >= '2009-09-30 00:00:00.000'
AND tc.datein <= '2009-09-30 23:59:59.999'
Run Code Online (Sandbox Code Playgroud)
运用
SELECT *
FROM t_call AS tc
WHERE tc.datein BETWEEN '2009-09-30 00:00:00.000'
AND '2009-09-30 23:59:59.999'
Run Code Online (Sandbox Code Playgroud)
返回相同的结果
我需要缩短这个查询,虽然我擅长SQL,但我还在学习.
SELECT
'doejoh',
DATETIME,
[Recipient-Address], [Message-Subject], [Sender-Address]
FROM
dbo.Logs
WHERE
LEFT([Recipient-Address], 6) IN ('doejoh')
UNION ALL
SELECT
'doejoh',
DATETIME,
[Recipient-Address], [Message-Subject], [Sender-Address]
FROM
dbo.Logs
WHERE
LEFT([Recipient-Address], 10) IN ('john.doe@g')
UNION ALL
SELECT
'doejoh',
DATETIME,
[Recipient-Address], [Message-Subject], [Sender-Address]
FROM
dbo.Logs
WHERE
LEFT([Sender-Address], 6) IN ('doejoh')
UNION ALL
SELECT
'doejoh',
DATETIME,
[Recipient-Address], [Message-Subject], [Sender-Address]
FROM
dbo.Logs
WHERE
LEFT([Sender-Address], 10) IN ('john.doe@g')
ORDER BY
DateTime
Run Code Online (Sandbox Code Playgroud)
我必须使用这个联合,因为在同一个表中,每个用户及其电子邮件地址有4种不同的可能性.话虽这么说,我有30个用户,所以在整个查询中30x4将是120个组.第一列必须是用户名的原因是因为我在Crystal Report中使用该列.
我只是想为我的查询创建一些逻辑来缩短它,同时将每个用户"分配"到适当的第一列.
编辑添加
虽然这会缩短我的查询,但我仍然需要有30个工会:
SELECT
'doejoh',
DATETIME,
[Recipient-Address], [Message-Subject], [Sender-Address]
FROM
dbo.Logs
WHERE
LEFT([Recipient-Address], 6) IN ('doejoh') …Run Code Online (Sandbox Code Playgroud) 我正在寻找可与Oracle和SQL Server 2005一起使用的最佳.Net ORM工具.我们有一个包含大约4000个表的Oracle数据库.我尝试使用TierDeveloper和Codesmith,当我尝试使用Oracle DB映射对象时,他们没有响应.哪个是与大型Oracle数据库一起使用的最佳ORM工具?
给定了两个名为"table1"和"table1_hist"的表,结构上类似于:
TABLE1
id status date_this_status
1 open 2008-12-12
2 closed 2009-01-01
3 pending 2009-05-05
4 pending 2009-05-06
5 open 2009-06-01
TABLE1_hist
id status date_this_status
2 open 2008-12-24
2 pending 2008-12-26
3 open 2009-04-24
4 open 2009-05-04
Run Code Online (Sandbox Code Playgroud)
如果table1是当前状态而table1_hist是table1的历史表,那么如何为每个具有最早日期的id返回行.换句话说,对于每个id,我需要知道它的最早状态和日期.
EXAMPLE:
For id 1 earliest status and date is open and 2008-12-12.
For id 2 earliest status and date is open and 2008-12-24.
Run Code Online (Sandbox Code Playgroud)
我已经尝试过使用MIN(日期时间),工会,动态SQL等等.我今天刚刚到达tsql编写器块并且我被卡住了.
编辑补充: 呃.这是针对SQL2000数据库的,所以Alex Martelli的答案是行不通的.直到SQL2005才引入ROW_NUMBER.