为了让ROW具有不同的值WIHTIN表 [英] To get the ROW having different value WIHTIN a table
本文介绍了为了让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 RateCur Rate
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屋!
查看全文