我有一个主表,我必须从中获取数据.我有一个左外连接,其中字段将匹配40%的时间.然后我有另一个连接,我需要匹配表A中的数据.
这是伪代码中的SQL.此查询无效.
- 这是我想要做的部分,但不起作用.AND H.COL3 = A.STATE ????
我正在使用IBM DB2.
SELECT DISTINCT
APP_NO as app_no,
A.STATE as state
...
... Fields
...
FROM
TABLE_A A
LEFT OUTER JOIN
TABLE_B HIST
ON
HIST.COL1 = A.COL1
, TABLE_C B
LEFT OUTER JOIN
TABLE_D H
ON
H.COL2 = B.COL2
-- This is the part I want to do but doesn't work.
AND
H.COL3 = A.STATE????
WHERE
A.BRANCH = 'Data'
Run Code Online (Sandbox Code Playgroud) 我坚持从LINQToSQL转换左外连接,返回唯一的父行.
我有2个表(Project,Project_Notes,它是由Project_ID链接的1-many关系).我在2表上的多个列上进行关键字搜索,如果Project_Notes中的列包含关键字,我只想返回唯一项目.我有这个linqtoSQl序列,但它似乎返回多个Project行.也许Exist在LINQ 做某种事?或者也许是某种类型的群体?
这是LINQToSQL:
query = from p in query
join n in notes on p.PROJECT_ID equals n.PROJECT_ID into projectnotes
from n in notes.DefaultIfEmpty()
where n.NOTES.Contains(cwForm.search1Form)
select p;
Run Code Online (Sandbox Code Playgroud)
这是它从profiler生成的SQL
exec sp_executesql N'SELECT [t2].[Title],[t2].[State],[t2].[PROJECT_ID],[t2].[PROVIDER_ID],[t2].[CATEGORY_ID],[t2].[ City],[t2].[UploadedDate],[t2].[SubmittedDate],[t2].[Project_Type] FROM(SELECT ROW_NUMBER()OVER(ORDER BY [t0].[UploadedDate])AS [ROW_NUMBER],[ t0].[标题],[t0].[状态],[t0].[PROJECT_ID],[t0].[PROVIDER_ID],[t0].[CATEGORY_ID],[t0].[城市],[t0] .[UploadedDate],[t0].[SubmittedDate],[t0].[Project_Type] FROM [dbo].[PROJECTS] AS [t0] LEFT OUTER JOIN [dbo].[PROJECT_NOTES] AS [t1] ON 1 = 1 WHERE([t1].[NOTES] LIKE @ p0)AND([t0] .SubmittedDate]> = @ p1)AND([t0].[SubmittedDate] <@ p2)AND([t0].[PROVIDER_ID] = @ p3)AND([t0].[CATEGORY_ID]为空))AS [t2] WHERE [t2].[ROW_NUMBER]在@ p4 + 1和@ p4 + @ p5 …
我有一个名为tblIssueTicket的表tblIssueTicket包含以下字段:TicketID,TicketRequesterID,ApprovalManagerID,RequestDate,ApprovalDate,TicketStatus
还有另一个名为tblEmployeeProfile的表.tblEmployeeProfile包含EmployeeID,EmployeeFirstName,EmployeeLastName字段
我需要显示以下记录:
TicketID,TicketRequesterFullName,ApprovalManagerFullName,RequestDate,ApprovalDate,TicketStatus
我在查询查询以返回TicketRequester的全名和ApprovalManager字段的全名时遇到问题.
到目前为止,我的查询如下所示:
Select it.TicketID,
ep.Firstname + ' ' + ep.EmployeeLastName AS TicketRequestorFullName,
it.RequestDate, it.ApprovalDate, it.TicketStatus
FROM tblIssueTicket it, tblEmployeeProfile ep
WHERE ep.EmployeeID = it.TicketRequesterID
Run Code Online (Sandbox Code Playgroud)
任何建议都会非常感激.
谢谢
厘米
// rememb-o-matic
#include <iostream>
#include <new>
using namespace std;
int main ()
{
int i,n;
int * p;
cout << "How many numbers would you like to type? ";
cin >> i;
p= new (nothrow) int [i];
if (p == 0)
cout << "Error: memory could not be allocated";
else
{
for (n=0; n<i; n++)
{
cout << "Enter number: ";
cin >> p[n];
}
cout << "You have entered: ";
for (n=0; n<i; n++)
cout << p[n] << ", …Run Code Online (Sandbox Code Playgroud) 我有一个奇怪的要求,以显示应用程序的当前状态和以前的状态,我在图片中的要求
我试图使用SQL分别获取每个应用程序和剩余集合的最高值,但我不确定将它们组合在一起的最佳方法.但我相信有更简单的方法可以做到这一点.
在这里粘贴我的查询.
查询1给出了每个应用程序的最新状态:
select application_id, last_updated, application_state
from BELL_APPLICATION_EVENTS where (application_id, last_updated) in (
select application_id, max(last_updated) as last_updated
from BELL_APPLICATION_EVENTS
group by application_id
) order by last_updated desc ;
Run Code Online (Sandbox Code Playgroud)
以下查询提供其余状态的数据集,例如"已完成应用程序"和"已发送用户电子邮件",如图所示.
select *
from BELL_APPLICATION_EVENTS U1
where last_updated < (
select max(last_updated)
from BELL_APPLICATION_EVENTS where application_id = U1.application_id)
order by U1.LAST_UPDATED desc ;
Run Code Online (Sandbox Code Playgroud)
您能否帮助提供一个更简单的选项,以便在每个应用程序ID的单个记录中获取当前状态和以前的状态?