WITH RemoveDate As (
SELECT table.*, ROW_NUMBER()
OVER (PARTITION BY id order by row_added_dttm) AS RowNumber
FROM table
WHERE (grp = '124')
and row_added_dttm <= (SELECT MAX(row_added_dttm) from table
where (grp = '124') )
)
delete from RemoveDate where RowNumber >1
你好,我需
我正在使用SSIS合并连接sql服务器数据(左)和oracle数据(右)。在合并连接之前,两个数据集都是在源位置排序的。当oracle源只返回一行时,它工作得很好,但当它返回多行时就不行了。即使有几行有匹配的数据,合并连接后也不会返回数据。下面是我的流程:
更多信息:
两者都是预先排序的(源查询中的order by )。oracle源列EXTERNLAL_ID在查询中被转换为整数,即CAST(EXTERNAL_ID AS INTEGER),因此在合并连接之前,两个连接键都以DT_I4结束。
示例: SQL Server source有三行,UNIQUEID:1,2,3;Or
我对oracle拆分查询有问题。
在使用connect by和oracle中的正则表达式将逗号分隔成多个行时,我得到了更多的重复行。例如,实际上我的表有150行,其中两行有逗号分隔的字符串,所以总的来说,我只需要得到155行,但我要得到2000行。如果我使用不同,它的工作良好,但我不希望重复行的查询结果。
我尝试了以下查询,但是它在查询结果中生成重复行:
WITH CTE AS (SELECT 'a,b,c,d,e' temp,1 slno FROM DUAL
UNION
SELECT 'f,g',2
我已经签约编程十多年了,我所服务的绝大多数客户都在运行SQL Server副Oracle。在少数使用Oracle的客户中,他们的需求很简单。
现在我需要用查询行上提供的数据初始化一个CTE数据集,而且我已经了解到在SQL Server中有一件事情很简单,但是Oracle对它很抗拒.
SELECT 1 as 'A', 2 AS 'B' -- works in T-SQL, not in PL/SQL
UNION ALL
SELECT 3,4
有人能告诉我这是怎么回事吗?对于SQL Server限制较少的Oracle来说,这是否是一个安全考虑因素?
我正在使用Oracle11,并且希望能够在一个查询中检索多个记录,这将为我的下一部分代码节省很大的便利。 让我们考虑下面这条SQL语句: SELECT ID, NAME FROM PEOPLE WHERE NAME IN ('Alice', 'Bob', 'Alice'); 它返回以下数据: | 1 | Alice |
| 2 | Bob | 我真正想做的是取消该列表的唯一性,并按给定的顺序返回具有重复项的记录。因此,上面的语句将是: | 1 | Alice |
| 2 | Bob |
| 1 | Alice | 我很欣赏Orac
在PLSQL中,我运行:
truncate table MyOracleTableName;
commit work;
insert into MyOracleTablename
select a,b,c,trunc(sysdate) as datadate
from AnotherOracleTableName
where there is a ton of nasty criteria
union
select a,b,c,trunc(sysdate) as datadate from AnotherOracleTableName
where there is a ton of dif
我在获得SQL Server返回与Oracle相同的SQL树查询结果时遇到了一些小问题。
我们有一个带有属性的链接表
CHILD_ID, LINK_ID, PARENT_ID
和一个带有ELEMENT_ID的元素表
在Oracle中,我们使用以下方法
SELECT * FROM LINKS
JOIN ELEMENTS ON ELEMENT_ID = CHILD_ID
WHERE LINK_ID IN
(SELECT LINK_ID FROM LINKS CONNECT BY PRIOR CHILD_ID = PARENT_ID START WITH PARENT_ID = 'star
我有一个表,由下面的字段和值组成
STAFFNO NAME DESGN DEPTT SPOUSE_STAFFNO SPOUSE_NAME SPOUSE_DESGN SPOUSE_DEPTT
111111 AAA AM HR 999999 PPP JM FIN
222222 BBB DM MKTG 888888 QQQ AM HR
333333 CCC SM FIN 777777 RRR DM FIN
这是针对Oracle DB SQL (pl/sql)的
我有一个三列数据表(为了便于论证)。我需要删除返回的行,其中columnA和columnB匹配表中的另一个记录,columnC等于'james‘。但是,如果columnC等于'james‘和columnA,则columnB不匹配结果集中的任何其他行。
ColumnA ColumnB ColumnC
_______________________
45 blue John <-Keep
45 blue James <-Remove
32 Red John
我有下面的桌子
City1 City2
NY TO
TO ON
TO NY
TO AT
AT TO
TO AT
问题将NY-TO和TO-NY视为重复,需要在Oracle中查询以查找和删除上面提到的重复行。不要认为AT& TO-AT是重复的。尝试了几种方法,即子查询、自joins...etc.但无法解决。有人质疑这里的科学家吗?
我在Oracle DB上有一个有两列的表。我希望看到每一行重复的次数与存储在第二列中的数字一样多。这张桌子是这样的:
col1 col2
a 2
b 3
c 1
我想编写一个返回以下内容的查询:
col1 col2
a 2
a 2
b 3
b 3
b 3
c 1
因此,来自col2的值指示了重复一行的次数。有什么简单的方法可以做到这一点吗?
谢谢!
程序(追加两个表并将其存储在后一个表中):
proc sql;
create table tdstagng.aa as
select distinct * from tdstagng.aa
outer union corr
select distinct * from WORK.DYNAMIC
ORDER by Cdate;`
quit;
输出
此图像是代码的输出,Cdate是获取当前日期的列。)程序的目标是建立一个历史数据来标记随时间变化的数据。
在日期10/15/18中,即使整行都是相同的,也有重复的值(而不是该日期的7行,而是14行),我如何摆脱它?我
我浏览了一下SQL-92标准,然后看了一下SQL-92语法,有人把它放在一起,但不太理解。
正如提醒我们的那样,在某些情况下,表达式应该显式分组:
默认情况下,Server 2005计算包含从左到右的UNION运算符的语句。使用括号指定计算顺序。例如,以下语句不等价:
/* First statement. */
SELECT * FROM TableA
UNION ALL
( SELECT * FROM TableB
UNION
SELECT * FROM TableC
)
GO
/* Second statement. */
(SELECT * FROM Tabl
我如何写正则表达式,以发现单词坏,而前面没有字,没有或没有。
在下面的示例中,我应该找到第1行和第4行。
Line 1: a bad rider
Line 2 : apple is not bad
Line 3 : there is no bad remarks.
Line 4 : no there is nothing bad
因为Oracle sql中不支持它,所以可以不提前查看就可以这样做。
我需要用SQL (在Oracle DB上)解决后续问题。
表A
COL1 COL2
a 1
b 84
c 5
d 90
e 9
f 11
g 22
我需要从表A中选择A作为(选择由col2排序的表A,由col2升序排列的表A逐行下降)
因此,带最大值的行后面跟着带有mininimum的行,等等。
就像这样:
COL1 COL2
d 90 (most extreme maximum(1))
a 1 (most extreme minimum(1))
b 84 (most extreme maximu
名为"TEST“的Oracle sql表
id amount date
1 0 1/2/2015
2 100 1/2/2015
3 2 5/10/2016
4 55 5/10/2016
我想选择有两行日期相同的行,其中一个金额为0,另一个金额大于0,金额较小的行也具有最低的id。
到目前为止,这就是我所知道的,但是我不确定如何确保金额为0的行也具有两行中较低的id。
select * from TEST
where id in(
select id
(select id,
created_dt,
sum(case
我在一个名为NAMES的Oracle表中有一些类似这样的数据
| id | name | language | language_id |
| 1 | Paul | English | 4 |
| 1 | Pablo | Spanish | 10 |
| 2 | Richard | English | 4 |
我需要一个sql查询,它将按名称排序,但查询不需要返回实际名称,只需返回正确的顺序...问题是我还需要一个不同的id列表。
如果我执行以下SQL:
SELECT DISTINCT
ID
FROM
我有关于SQL的初学者知识,我想知道这在SQL中是否可能。
SQL查询1 >>
select distinct(id) as active_pod from schema_naming
查询1输出>>
active_pod
DB_1
DB_2
...
DB_20
SQL查询2 >>
select * from DB_1.mapping UNION
select * from DB_2.mapping UNION
....
select * from DB_20.mapping UNION
由于我对SQL的了解有限,我目前先运行#1 query,然后更改DB