问题标签 [sap-iq]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 如果一列为空,则使用默认值对两列进行外部联接
我有两个表 - 一个是事务表,另一个是查找表。这些表在两列上连接,其中一列总是有值,而另一列可能没有。
采样这个
category | subcategory | marks
A | 01 | 10
A | 02 | 20
B | 03 | 30
B | 04 | 40
C | 05 | 50
category | subcategory | cut-off
A | | 15
A | 01 | 25
B | 03 | 35
B | | 55
C | | 75
transaction
我希望通过加入category
和subcategory
列来获得表格中每个条目旁边的截止值。对于subcategory
不完全匹配的情况,null
需要选择对应的记录。
所需的输出格式:
category | subcategory | marks | cut-off
A | 01 | 10 | 25
A | 02 | 20 | 15
B | 03 | 30 | 35
B | 04 | 40 | 55
C | 05 | 50 | 75
我一直在尝试按照下面的查询进行思考,问题当然是它不能按照我想要的方式工作,因为它不能正确处理 null 情况。
select t.category, t.subcategory, t.marks, l.cut-off
from transaction t
left outer join lookup l
on t.category = l.category
and t.subcategory = l.subcategory
我是否需要多个查询(例如单独union all
处理null
的查询not null
?是否有适用于单个查询的选项?
sql - 确定表中的所有列并将它们用逗号分隔写在变量中
此代码具有功能 ROWID,即 IQ-Sybase 功能,我不确定其他 DBMS 可以使用它。在上面你有一个例子,我希望我的选择看起来像什么。
我的问题是,您不能将 ROWID 函数与 sys.column 或任何其他 systables 一起使用。有谁知道如何在不使用 ROWID 函数的情况下获得与我相同的选择。
如果您使用的是 IQ,我构建了代码,因此您只需键入 f5 并查看 select 语句,然后删除虚拟表。
sql - 如何比较行和列?
我想检查 TABLE2 中是否存在 TABLE1 列名,如下所示: -- 这应该将 TABLE2 中的行值与 TABLE1 中的列名进行比较
if exists(select column_for_compare from TABLE2) and if exists(select column_name from syscolumn key join systable where table_name ='TABLE1') begin print 'match found' end
我希望你能看到我在尝试什么......如果不是......如果会尝试更好地解释它
sybase - 从表中检索数据时 Sybase 缓冲区高速缓存错误
您好我是 Sybase IQ 的新手,我一次将数据插入 309 列。当我检索时,我收到以下错误。
*标记 Sybase ASE 仅是为了您可能也了解 IQ
sql - while 循环是如何工作的?
我得到的结果是@t=2
. 如果我将其替换为@i
我得到@i=41
. 为什么@variable
在第一个while循环中显示2,它会刹车吗?它不应该显示@t=6
吗?
如果我把选择@t
放在最后,它会显示 6,但是如果你需要迭代的每个结果,如果你把它放在@t
最后,你不会得到其他结果,你只会得到最后一个结果。我希望结果 1、2、3、4、5、6 全部通过@t
,最终结果应该只显示 6。
这是我编写的过程的简化示例,对于每次@t 迭代,@i 都会进行一次完整迭代,然后 @t 应该进行第二次迭代。@i 按计划工作,但 @t 在第一次迭代后中断。
(如果 @t = 1 ,@i 从某个表的第 1 列获取 40 行,@t = 2 它从某个表的第 2 列获取 40 行..ect)并将其写入 @sql 字符串,当她达到 40 while循环中断并进入@t循环,@t应该执行@sql字符串(例如它创建一个视图,所以最后我应该有6个视图,但在第一次执行之后@t循环中断。)
jdbc - SQL Anywhere 错误 - 210:用户“另一个用户”锁定了“tablexyz”中的行
嗨,我有多个 Java 进程,它们依次启动。此过程将数据加载到 tablexyz 中,然后加载到 tablefinal 中。第一个进程完成其工作后,我收到以下错误
SQL Anywhere 错误 - 210:用户“另一个用户”锁定了“tablexyz”中的行。
它是这样的:
流程1:创建表tablexyz并将数据加载到其中进行一些处理,然后最终将数据复制到tablefinal中。在所有步骤之后,我在这里提交事务。
过程2:删除/清空表tablexyz,如果它在那里,然后再次创建表tablexyz并将数据加载到其中进行一些处理,然后最后将数据复制到tablefinal。在所有步骤之后,我在这里提交事务。
我的应用程序在过程 2 中失败,它使 tablexyz 锁定。我不明白这两个进程都使用相同的数据库用户 myuser 那么为什么第二个进程无法删除由第一个进程创建的 tablexyz。请指导我是 Sybase IQ 的新手。提前致谢。
sql - Sybase-IQ : Query with join returns always 0 rows (but count(*) give rows)
I have a very strange comportment on my sybase-iq database.
I have 2 tables :
Table A : 47 000 000 rows
Table B : 497 rows
If I make the following query :
The result of the count is 5 661 188.
If I make the following query :
The result is 0 row !
If I make the following query :
The result is 5 661 188 rows.
The result is 0 row !
I execute these queries with Interactive SQL (Sybase Central).
I've tried also to execute these same queries with the ETL Talend, and i got same results as above.
Any ideas why we have these very strange results ?
Thanks
sap-iq - SQL 在 Sybase IQ 中更改用户
Sybase IQ 中是否有用于更改用户名的 SQL?
在 Sybase ASE 中,您可以通过“USE”语句或在具有 SET search_path TO myschema 的 PostgreSQL 中更改数据库;
Sybase IQ 中是否有类似的 SQL?
sql - 如何在 shell 脚本中检查 Sybase IQ 连接状态
我正在使用 dbisql 连接到 Sybase IQ 数据库。
脚本如下:
数据库运行时,一切正常。但是当数据库关闭时。发生错误:
如何在执行 sql 脚本之前检查数据库是否正在运行?或其他连接问题。
谢谢!
sap-iq - 如何找出授予 Sybase IQ 中存储过程的授权
我正在使用 Aqua Studio 连接到我的 Sybase IQ 数据库,由于某些原因,我无法在 Aqua Studio 的导航窗口中查看 SP,但我能够使用系统表 SYS.SYSPROCEDURE 获取 SP 描述。现在我也想看看这个 SP 的赠款。我试图从一些系统表(如 SYS.SYSCOLAUTH)中得到它,但什么也得不到。
任何人都可以提出一些建议吗?