我想运行一个基本查询,但只从Netezza返回表的前十行
select a.*
from some_schema.some_table a
where rownum < 10
Run Code Online (Sandbox Code Playgroud)
Netezza只关注那几排的方式是什么?
想了解是否Netezza
或者Hadoop
是用于以下目的的正确选择:
从多个相当大的在线资源中提取饲料文件的时间超过GB.
清理,过滤,转换和计算来自Feed的更多信息.
生成不同维度的指标,类似于数据仓库多维数据集的工作方式,以及
使用SQL或任何其他标准机制帮助Web应用程序更快地访问最终数据/指标.
连接到Netezza系统后有没有办法切换数据库?例如,在MSSQL中,可以发送命令use database_name
以切换到database_name.
Netezza中有没有像mssql上的"use"一样的东西?
http://technet.microsoft.com/en-us/library/ms188366.aspx
我提出的问题是关于元数据查询; 我只能访问"当前连接的数据库"的_v_table.
这是我的查询在Netezza中不起作用:
UPDATE TABLE1 A
SET A.COL1= (SELECT DISTINCT B.COL1 FROM TABLE2 B WHERE B.ID= A.ID AND B.DeptID=104)
WHERE A.DeptID=3
Run Code Online (Sandbox Code Playgroud)
如何重新编写此查询?请帮忙.
我正在尝试将SQL 11从Oracle 11 G移植到Netezza.
这是我在Oracle中的查询:
SELECT
ID, TEACHERID, CLASS, SECTION, MAJOR, SUPERVISOR, COURSE, SCORE, SCOREDATE,
(select SCORE from STUDENT_SCORES d2 where d2.ID=d1.ID and d2.SCOREDATE (d1.SCOREDATE)-28 and d1.COURSE=d2.COURSE) as PRIORSCORE,
(d1.SCOREDATE)-28 as PRIORSCOREDT,
REMCD
FROM
STUDENT_SCORES d1
WHERE
TEACHERID='T1' AND SCOREDATE=(SELECT MAX(SCOREDATE) FROM STUDENT_SCORES WHERE TEACHERID='T1')
Run Code Online (Sandbox Code Playgroud)
当我在Netezza中运行它时出现错误:
ERROR: (2) This form of correlated query is not supported - consider rewriting
Run Code Online (Sandbox Code Playgroud)
如何为Netezza重写此查询?请帮忙.
我是 SQL 新手,一直在寻找一种在 ANSI SQL 中设置变量的方法。我有这个:
select * from table1
where first_date > '2014-01-01'
and where second_date = '2014-01-01'
and where third_date < '2014-01-01'
Run Code Online (Sandbox Code Playgroud)
但我希望有这样的事情:
set x = '2010-12-31'
select * from table1
where first_date > x
and where second_date = x
and where third_date < x
Run Code Online (Sandbox Code Playgroud)
我读过有关存储过程的内容,但对于看似简单的事情来说,这似乎有点矫枉过正。我正在 Netezza 上运行,但我想要一个也可以在其他数据库上运行的通用解决方案。
我需要在win 7上从Aginity workbench在IBM netezza sql数据库中找到一个表大小.
我用过这个
SELECT * FROM _V_TABLE
where tablename = 'my_table_name'
Run Code Online (Sandbox Code Playgroud)
但是,没有关于表大小的信息.
我在Aginity中右键单击了表名,但是没有任何结果.
任何帮助,将不胜感激.
谢谢
我想把今天的日期加上过去四个星期。有没有人知道 Netezza 中的这个功能?我下面的猜测是行不通的。另外,我不想提取日期。
Select c.BUSINESS_UNIT_NBR, c.BUSINESS_UNIT_NAME, b.STORE_NBR, b.INV_CUST_ACNT_NBR,c.INV_CUST_NAME, a.NDC_NBR, a.GENERIC_NAME, a.INV_NBR, a.CONTRACT_ID, a.CONTRACT_NAME, a.ORD_DT, b.INV_DT, b.SHIP_DT, a.ORD_QTY, a.SHIPPED_QTY, a.INV_PRICE_AMT, a.INV_COST_AMT, a.MARKUP_MARKDOWN_PCT, a.INV_LINE_AMT
from fct_dly_invoice_detail a, fct_dly_invoice_header b, dim_invoice_customer c
where a.INV_HDR_SK = b.INV_HDR_SK
and b.DIM_INV_CUST_SK = c.DIM_INV_CUST_SK
and a.SRC_SYS_CD = 'ABC'
and a.NDC_NBR is not null
**and b.inv_dt(current_date)-16**
and b.store_nbr in (813, 1197, 2771, 3048, 3177, 3387, 3477, 3602, 3766, 3912, 4020, 4138, 4228, 4434, 4435, 4507, 4742, 4791, 5353, 5392, 5775, 5776, 5890, 6177, 6692, 6736, 6806, 7933, 9175, …
Run Code Online (Sandbox Code Playgroud) 我目前正在编写一个脚本来使用Python运行多个SQL文件,在您提到替代方法之前有一些背景知识; 这是自动化脚本,Python是我在Windows 2008服务器上使用的唯一工具.我有一个适用于一组的脚本,但问题是当另一组有两个语句而不是一个由';'分隔时 这是我的代码:
import os
import pyodbc
print ("Connecting via ODBC")
conn = pyodbc.connect('DSN=dsn', autocommit=True)
print ("Connected!\n")
inputdir = 'C:\\path'
cursor = conn.cursor()
for script in os.listdir(inputdir):
with open(inputdir+'\\' + script,'r') as inserts:
sqlScript = inserts.readlines()
sql = (" ".join(sqlScript))
cursor.execute(sql)
print (script)
conn.close()
print ('Run Complete!')
Run Code Online (Sandbox Code Playgroud)
所以这段代码可以显示整个文件,但它只在";"之前执行一条语句.
任何帮助都会很棒!
谢谢.