标签: teradata

SQL:带有"存在"的case-when语句

我希望能够设置添加一个回答问题的字段"对于此记录中的值,该值是否满足另一个表中的某些条件?".我想我会尝试case-whenexists,但Teradata的(我DBMS)不喜欢它.有什么建议?

select foo,
   (case when exists (select x.foo
                      from somedb x
                      where x.bar > 0)
    then '1' else '0' end) as MyFlag

from mydb
Run Code Online (Sandbox Code Playgroud)

sql teradata

4
推荐指数
1
解决办法
2万
查看次数

比较表中的3个连续行

嗨,我有一个有趣的问题.我有一个员工表AS跟随

CREATE TABLE EMPLOYEE(
EMPLOYEE_ID INTEGER,
SALARY DECIMAL(18,2),
PAY_PERIOD DATE)
Run Code Online (Sandbox Code Playgroud)

现在,这些表中的员工中有些人每月获得报酬,有些是每周一次,有些是每两周一次,有些是每天一次.我们想要的是如果连续三个支付期的工资相等,找到一个指示'Y'的指标.让我们举个例子.

Employee   Pay_Period     Salary

  1         01/01/2012    $500
  1         08/01/2012    $200
  1         15/01/2012    $200
  1         22/01/2012    $200
  1         29/01/2012    $700
Run Code Online (Sandbox Code Playgroud)

在这种情况下,指标应为"是",因为连续3个工资期的薪水为200美元.

由于支付周期的数量不是恒定的,我不确定如何编写这段代码,因为我不知道我需要多少左连接.因为我在Teradata中写这个我尝试使用RECURSIVE函数但是难倒.关于如何继续这个的一般想法?我宁愿不创建存储过程或具有PL/SQL逻辑.

sql teradata

4
推荐指数
1
解决办法
2856
查看次数

如何在Teradata中向现有表DDL添加注释?

我正在向表中添加一些新列,并希望为未来的开发人员添加表DDL的文档.怎么会这样呢?

ddl teradata

4
推荐指数
1
解决办法
2万
查看次数

Teradata:如何获取表的主键和外键定义?

这些表已经存在,但我不知道它们是如何被装箱的.现在我想获得表的主键和外键的定义.我怎样才能做到这一点?

sql teradata

4
推荐指数
1
解决办法
9276
查看次数

如何在Teradata SQL中将Char格式的“日期”更改为日期格式?

我有一个列日期,例如 date CHAR(7) CHARACTER SET LATIN NOT CASESPECIFIC,我有一些值,如2010-12、2011-10等。我想将它们更改为日期格式yyyy / mm。我该怎么做?谢谢

sql date teradata

4
推荐指数
1
解决办法
5400
查看次数

使用JDBC连接R和Teradata

我正在尝试使用RJDBC连接R和Teradata.

我发现这个链接有一个使用mysql的例子,但我不知道如何用teradata做同样的事情.

library(RJDBC)
drv <- JDBC("com.mysql.jdbc.Driver",
           "/etc/jdbc/mysql-connector-java-3.1.14-bin.jar",
           identifier.quote="`")
conn <- dbConnect(drv, "jdbc:mysql://localhost/test", "user", "pwd")
Run Code Online (Sandbox Code Playgroud)

我已经下载了这个驱动程序:http: //downloads.teradata.com/download/connectivity/jdbc-driver 但是我不确定我应该在哪里引用该目录.

我知道有一个teradataR包在那里,但我不知道它是否真的使用R 3.0.0工作.

目前我只是将数据从数据库中拉出来很有意思.简单的事情SELECT * FROM table.问题是RODBC很慢......

还有其他选择来完成这项任务吗?

r teradata rodbc rjdbc

4
推荐指数
1
解决办法
5813
查看次数

如何查找数据库Teradata中具有特定列名的所有表?

我有2-3个不同的列名称,我想在整个数据库中查找并列出所有具有这些列的表.任何简单的查询?

我已经看到MySQL的解决方案,这在这里不起作用,因为TD据我所知没有方案,但我找到了这个.

并尝试了这段代码:

SELECT TableName
FROM DBC.COLUMNS
WHERE DatabaseName = 'DB_NAME' and
ColumnName in ('col1', 'col2')
Run Code Online (Sandbox Code Playgroud)

但肯定必须使用子查询来获取TableName,因为DBC.COLUMNS没有该字段.还有什么想法?

sql database teradata

4
推荐指数
1
解决办法
2万
查看次数

左连接没有右表的多行

我有两张桌子(UserSalary).我想做一个left joinUserSalary.对于每个用户,我想要他们的名字和工资.如果他们没有工资,那么该领域可以留空.到目前为止,我们需要的是左连接.但我只想要每个用户一行.由于某些缺陷,一个用户可以有几个工资(见表薪水).我只想要每个用户一行,可以随机选择(或前1).我怎么做?预期的输出显示在底部.

用户表:

User Name
1    Adam
2    Al
3    Fred
Run Code Online (Sandbox Code Playgroud)

薪资表

User  Salary
1     1000
2     2000
2     2000
Run Code Online (Sandbox Code Playgroud)

预期表格:

User Name  Salary
1    Adam  1000
2    Al    2000 
3    Fred  null
Run Code Online (Sandbox Code Playgroud)

sql sql-server teradata

4
推荐指数
2
解决办法
1万
查看次数

资格与拥有之间的区别

有人可以解释一下,Teradata qualify...over...partition bygroup by...havingTeradata有什么区别?
我还想知道他们的表现是否有任何差异.

teradata

4
推荐指数
1
解决办法
9628
查看次数

检查teradata中是否存在易失性表

易失性表很好,有点类似于sql server(我的背景)中的临时表.有没有办法检查是否已存在易失性表?第一次运行时,此代码无效:

DROP TABLE SomeVolatileTable;
CREATE VOLATILE TABLE SomeVolatileTable AS
(
    SELECT 
        TOP 10 *
    FROM  SomeSourceTable
) WITH DATA ON COMMIT PRESERVE ROWS;
Run Code Online (Sandbox Code Playgroud)

在SQL Server中,您可以检查是否存在临时表:

IF OBJECT_ID('tempdb..#SomeTempTable') IS NOT NULL DROP TABLE #SomeTempTable
Run Code Online (Sandbox Code Playgroud)

Teradata中存在类似的东西吗?

teradata

4
推荐指数
1
解决办法
7259
查看次数

标签 统计

teradata ×10

sql ×6

database ×1

date ×1

ddl ×1

r ×1

rjdbc ×1

rodbc ×1

sql-server ×1