为了让ROW具有不同的值WIHTIN表 [英] To get the ROW having different value WIHTIN a table

查看:90
本文介绍了为了让ROW具有不同的值WIHTIN表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hi Team,

我正在尝试在我的桌面上构建一个查询来获取特定的数据结果。

我有一个如下表所示的数据:

  CREATE   TABLE  tbl_Rate 

ID INT IDENTITY 1 1 ),
DateLoad DATETIME
BaseCur VARCHAR 100 ),
RateCur VARCHAR 10 ),
Rate NUMERIC 15 4

GO

INSERT INTO tbl_Rate VALUES
' 2014年3月6日'' GBP'' INR' 101 64 ),
' < span class =code-string> 2014年3月6日',' GBP'' ATS' 101 64 ),
' 2014年3月6日'' GBP'' RBC' 101 64 ) ,
' 2014年3月6日'' GBP'' TBC' 101 64 ),
' 2014年3月6日'' GBP'' JIR' 101 64 ),
' 2014年3月5日'' GBP',< span class =code-string>' INR' 101 64 ),
' 2014年3月5日'' GBP'' < span class =code-string> ATS', 101 64 ),
' 2014年3月5日'' GBP'' RBC' 101 64 ),
' 2014年3月5日'' GBP '' TBC' 101 . 64 );
GO



此表包含数据日期,如3月6日和3月5日。我需要建立一个查询以获得06月3日的额外行,如下所示。

 ID DateLoad BaseCur Ra​​teCur Ra​​te 
5 2014-03-06 00:00: 00.000 GBP JIR 101.6400



约束是使用Joins构建。避免使用结果集来处理以下数据:

  SELECT  *  FROM  
SELECT * FROM tbl_Rate WHERE DateLoad = ' 2014年3月6日')N LEFT JOIN
SELECT * FROM tbl_Rate WHERE DateLoad = ' 2014年3月5日')E ON N.RateCur = E.RateCur
WHERE E.RateCur NULL







谢谢

Utkarsh

解决方案

如果它不是一个家庭作业,这将在没有子查询的情况下得到相同的结果:



 select * from 
tbl_Rate n LEFT JOIN tbl_Rate e ON N.RateCur = E.RateCur
and n.DateLoad = '06 Mar 2014'and e.DateLoad = '05 Mar 2014'
其中
n.DateLoad ='2014年3月06日'和e.DateLoad为NULL


Hi Team,
I am trying to build a query on my table to get a specific data result.
I have a table like below with below data:

CREATE TABLE tbl_Rate
(
ID INT IDENTITY(1,1),
DateLoad DATETIME,
BaseCur VARCHAR(100),
RateCur VARCHAR(10),
Rate NUMERIC(15,4)
)
GO

INSERT INTO tbl_Rate VALUES
('06 Mar 2014','GBP','INR',101.64),
('06 Mar 2014','GBP','ATS',101.64),
('06 Mar 2014','GBP','RBC',101.64),
('06 Mar 2014','GBP','TBC',101.64),
('06 Mar 2014','GBP','JIR',101.64),
('05 Mar 2014','GBP','INR',101.64),
('05 Mar 2014','GBP','ATS',101.64),
('05 Mar 2014','GBP','RBC',101.64),
('05 Mar 2014','GBP','TBC',101.64);
GO


This table contains the data date wise like 06 Mar and 05 Mar. I need to build a query to get the extra row for 06 Mar like below.

ID	DateLoad	                BaseCur	RateCur	Rate	
5	2014-03-06 00:00:00.000	        GBP	JIR	101.6400	


The constraint is to build using Joins. Avoid result sets to work up with data like below:

SELECT * FROM
(SELECT * FROM tbl_Rate WHERE DateLoad = '06 Mar 2014') N LEFT JOIN
(SELECT * FROM tbl_Rate WHERE DateLoad = '05 Mar 2014') E ON N.RateCur = E.RateCur
WHERE E.RateCur is NULL




Thanks
Utkarsh

解决方案

On the chance that it is not a homework assignment, this will get you the same result without the subqueries:

select * from
tbl_Rate n LEFT JOIN tbl_Rate e ON  N.RateCur = E.RateCur
	and n.DateLoad = '06 Mar 2014' and e.DateLoad = '05 Mar 2014'
where 
    n.DateLoad = '06 Mar 2014' and e.DateLoad is NULL


这篇关于为了让ROW具有不同的值WIHTIN表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆