小编Leo*_*eon的帖子

我可以根据查询在SSIS for循环中设置变量吗?

我有一个SQL查询正在SSIS中执行,以将数据加载到CSV文件中,如下所示:

SELECT *
FROM SomeTable
WHERE SomeDate BETWEEN '1-Jan-2016' AND '31-Dec-2016'
      AND Param1 = 2 AND Param2 = 2
Run Code Online (Sandbox Code Playgroud)

当这是用QlikView编写的时候,我使用了这样的参数:

SELECT *
FROM SomeTable
WHERE SomeDate BETWEEN '1-Jan-2016' AND '31-Dec-2016'
      AND Param1 = $(Param1) AND Param2 = $(Param2)
Run Code Online (Sandbox Code Playgroud)

现在我正在将整个任务迁移到SSIS,我正在弄清楚如何获得Param1和Param2将被动态分配.例如,在QlikView中,我创建了一个由另一个查询填充的表:

SELECT Param1, Param2
FROM ThisTable
WHERE SomeID = 1
Run Code Online (Sandbox Code Playgroud)

这样的事情.的选择Param1,并Param2从该查询得到我所需的值$(Param1),并$(Param2)在我的QlikView代码.

我现在正试图将我的QlikView代码转换为SSIS包,因为SSIS是一个专用的ETL工具,而QlikView则不是.我正在做什么?如果是这样,我将如何去做呢?

我的想法是将它全部包装在for循环容器中,并在它抓取最后一个Param1Param2从此查询中停止:

SELECT Param1, Param2
FROM ThisTable
WHERE SomeID = 1
Run Code Online (Sandbox Code Playgroud)

基本上,我试图避免不得不写一千次我的第一个选择语句.

谢谢.

如果我说的话没有意义,请告诉我,这样我就可以详细说明了.

sql-server ssis

6
推荐指数
1
解决办法
4066
查看次数

PYODBC 不喜欢 %,“SQL 包含 2 个参数标记,但提供了 1 个参数。”

所以我目前正在将 Python 与 SQL 联系起来以提取客户信息。不幸的是,我遇到了一些关于 SQL 的错误。我正在尝试使用 LIKE 运算符和 % 通配符,但由于 Python 不喜欢 %. 结果,它假装 %s 之间的变量不存在。这就是我的意思:

SELECT custnbr,
       firstname,
       middleint,
       lastname
FROM   lqppcusmst
WHERE  custnbr = ?  AND firstname LIKE ? 
Run Code Online (Sandbox Code Playgroud)

现在,我只是在测试它,所以我只使用客户编号和名字。我给它一个值:

remote_system_account_number = request.DATA['remote_system_account_number']
remote_system_first_name = request.DATA['remote_system_first_name']
Run Code Online (Sandbox Code Playgroud)

因为我写的是在数据库中搜索客户,所以可能会有空白条目,所以我有这样的:

if remote_system_account_number != '':
    SQL_where += ' custnbr = ? '
    parameters += "remote_system_account_number"
if remote_system_first_name != '':
    SQL_where += ' AND firstname LIKE ? '
    parameters += ", %remote_system_first_name%"
Run Code Online (Sandbox Code Playgroud)

所以我认为这会起作用,但它没有。当我像这样执行它时:

database_cursor.execute(customer_information_SQLString + SQL_where, parameters)
Run Code Online (Sandbox Code Playgroud)

我明白了:

ProgrammingError: ('The SQL contains …
Run Code Online (Sandbox Code Playgroud)

python sql pyodbc

5
推荐指数
1
解决办法
4005
查看次数

Android Studio会创建重复的应用

当我运行我的项目进行测试时,Android Studio最终会在我的模拟器和手机上创建两个相同的应用程序.

这是为什么?

编辑:原因是因为PebbleKit创建了另一个应用程序.

android android-studio

3
推荐指数
1
解决办法
1360
查看次数

在 SQL Server 中插入时忽略重复键

我有一张桌子叫做CustomerMemo

客户备忘录

CustomerID
MemoID
Run Code Online (Sandbox Code Playgroud)

这两个都是外键。这些列不是唯一的,因为可能是这样的:

CustomerID    MemoID
-----------   -------
1             1
1             2
1             3
Run Code Online (Sandbox Code Playgroud)

然而,我想避免的是这样的事情:

CustomerID    MemoID
-----------   -------
1             1
1             1
Run Code Online (Sandbox Code Playgroud)

有人知道如何在 SQL Server 中执行此操作吗?

sql sql-server

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

当你在中间排除一个数字时如何使用SQL的BETWEEN条件?

现在,我正在使用BETWEEN条件来收集帐号,但我想要获取的唯一帐号是:

2999,3000至3004和3006 - 3010(基本上是跳过3005)

我如何格式化BETWEEN?

sql t-sql sql-server

0
推荐指数
1
解决办法
252
查看次数

标签 统计

sql ×3

sql-server ×3

android ×1

android-studio ×1

pyodbc ×1

python ×1

ssis ×1

t-sql ×1