起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2351|回复: 10

[结贴] SQL中的in 在KSQL中用什么代替~~~

[复制链接]

63

主题

269

帖子

774

积分

高级会员

Rank: 4

积分
774
QQ
发表于 2016-4-1 08:54:28 | 显示全部楼层 |阅读模式
SELECT * FROM 表1 WHERE LSH  IN
( SELECT DISTINCT LSH from 表2 WHERE LB = '汽车' )


代码写在JS的data.setFilter();方法中,请问怎么改成KSQL,直接用上面的SQL 报错
两点之间,贝尔最短。。。

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2016-4-1 10:56:54 | 显示全部楼层
KSQL中也直接用的in

IN (SELECT p1.sMainOrgID FROM SA_OPPerson p1)

要注意的是KSQL中一定要给概念取别名
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

63

主题

269

帖子

774

积分

高级会员

Rank: 4

积分
774
QQ
 楼主| 发表于 2016-4-1 11:23:55 | 显示全部楼层
jishuang 发表于 2016-4-1 10:56
KSQL中也直接用的in

IN (SELECT p1.sMainOrgID FROM SA_OPPerson p1)

        if(ydbrq){
        str_where += " AND G_DQBML.DBRQ >= stringToDateTime('"+ydbrq+" 00:00:00"+"')  AND  G_DQBML.DBRQ <= stringToDateTime('"+ydbrq+" 23:59:59"+"') ";
        }
        if(yfcrq){
        str_where += " AND G_DQBML.FCRQ >= stringToDateTime('"+yfcrq+" 00:00:00"+"')  AND  G_DQBML.FCRQ <= stringToDateTime('"+yfcrq+" 23:59:59"+"') ";
        }
        if(yb1){
    str_where += " AND G_DQBML.LSH IN ( SELECT  p1.LSH from G_DQBZW p1 WHERE p1.PM = '"+yb1+"' ) ";
        }
        bizDataYM.setFilter('filter1', str_where);


我这样写的,报错~

编码: JUSTEP150210; 提示: 执行KSQL出错, KSQL: SELECT G_DQBML.* FROM G_DQBML G_DQBML WHERE (( 1 = 1 AND G_DQBML.LSH IN ( SELECT p1.LSH from G_DQBZW p1 WHERE p1.PM = '钢丝绳' ) )) ORDER BY G_DQBML.LSH desc LIMIT 0, 25
编码: JUSTEP154053; 提示: KSQL语法错误, columns中的列LSH必须包含在select查出列中
两点之间,贝尔最短。。。
回复 支持 反对

使用道具 举报

63

主题

269

帖子

774

积分

高级会员

Rank: 4

积分
774
QQ
 楼主| 发表于 2016-4-1 11:25:21 | 显示全部楼层
jishuang 发表于 2016-4-1 10:56
KSQL中也直接用的in

IN (SELECT p1.sMainOrgID FROM SA_OPPerson p1)

oracle里执行 不报错
两点之间,贝尔最短。。。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2016-4-1 14:39:43 | 显示全部楼层
G_DQBML.LSH

p1.LSH

两个关系一样要给其中一个取一个不一样的别名
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

63

主题

269

帖子

774

积分

高级会员

Rank: 4

积分
774
QQ
 楼主| 发表于 2016-4-1 14:46:15 | 显示全部楼层

        if(yb1){
    str_where += " AND G_DQBML.LSH IN ( SELECT  p1.LSH  a from G_DQBZW p1 WHERE p1.PM = '"+yb1+"' ) ";
//怎么取别名 这样可以吗
两点之间,贝尔最短。。。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2016-4-1 16:01:26 | 显示全部楼层
可以,只有别名不重复
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

63

主题

269

帖子

774

积分

高级会员

Rank: 4

积分
774
QQ
 楼主| 发表于 2016-4-5 08:45:58 | 显示全部楼层
jishuang 发表于 2016-4-1 16:01
可以,只有别名不重复

编码: JUSTEP150210; 提示: 执行KSQL出错, KSQL: SELECT G_DQBML.* FROM G_DQBML G_DQBML WHERE (( 1 = 1 AND G_DQBML.LSH IN ( SELECT p1.LSH a from G_DQBZW p1 WHERE p1.PM = '检修' ) )) ORDER BY G_DQBML.LSH desc LIMIT 0, 25
编码: JUSTEP154115; 提示: KSQL语法错误, SELECT p1.LSH ^^a from G_DQBZW 中未找到需要的元素, 位置91期望是FROM

。。。。。。。。

这样写 报错~
两点之间,贝尔最短。。。
回复 支持 反对

使用道具 举报

63

主题

269

帖子

774

积分

高级会员

Rank: 4

积分
774
QQ
 楼主| 发表于 2016-4-5 08:46:24 | 显示全部楼层
本帖最后由 pacersby 于 2016-4-5 08:47 编辑
jishuang 发表于 2016-4-1 16:01
可以,只有别名不重复
KSQL拿到ORACLE中执行 正常,程序运行报错
两点之间,贝尔最短。。。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2016-4-5 16:09:28 | 显示全部楼层
p1.LSH AS a看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-19 09:53 , Processed in 0.066774 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表