SQL小白求教

什么都被占用了 2014-01-21 03:57:55
大哥大姐们看看我这段 为啥总是无法执行?感觉没问题啊?我是小白
select x.uid,x.appid,y.appname
from ods_bas_user_download_android_appall x,
ods_bas_android_app_info y
where x.appid=y.appid
and x.dt='20131212'
and x.refresh_date>='20131111'
and x.is_active='1'
...全文
105 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
發糞塗牆 2014-01-21
  • 打赏
  • 举报
回复
你的原语句和我5楼的是等价的,不过和left join大部分情况不等价
  • 打赏
  • 举报
回复
引用 11 楼 DBA_Huangzj 的回复:
应该是它的编译器问题,你的语句在T-SQL是没问题的,不过按照你的要求,应该用INNER JOIN
谢谢!
發糞塗牆 2014-01-21
  • 打赏
  • 举报
回复
应该是它的编译器问题,你的语句在T-SQL是没问题的,不过按照你的要求,应该用INNER JOIN
LongRui888 2014-01-21
  • 打赏
  • 举报
回复
引用 9 楼 u013532216 的回复:
[quote=引用 7 楼 yupeigu 的回复:] [quote=引用 4 楼 u013532216 的回复:] 是啊 报错了 如下
是hive查询啊。 改成这样试试:
select x.uid,x.appid,y.appname
from ods_bas_user_download_android_appall x
left join ods_bas_android_app_info y
       on x.appid=y.appid
where  x.dt='20131212'
and x.refresh_date>='20131111'
and x.is_active='1'
[/quote] 这个就可以了 不好意思 我刚用这个 是说Hive里不能用我的那种写法么?那能用哪种写法?[/quote] 就用join的写法,也就是表关联的写法,比如: select * from a left join b on a.id = b.id 这个是数据库里通用的ANSI标准。
  • 打赏
  • 举报
回复
引用 7 楼 yupeigu 的回复:
[quote=引用 4 楼 u013532216 的回复:] 是啊 报错了 如下
是hive查询啊。 改成这样试试:
select x.uid,x.appid,y.appname
from ods_bas_user_download_android_appall x
left join ods_bas_android_app_info y
       on x.appid=y.appid
where  x.dt='20131212'
and x.refresh_date>='20131111'
and x.is_active='1'
[/quote] 这个就可以了 不好意思 我刚用这个 是说Hive里不能用我的那种写法么?那能用哪种写法?
  • 打赏
  • 举报
回复
引用 6 楼 DBA_Huangzj 的回复:
回复请引用。
不好意思 初来乍到。。。
LongRui888 2014-01-21
  • 打赏
  • 举报
回复
引用 4 楼 u013532216 的回复:
是啊 报错了 如下
是hive查询啊。 改成这样试试:
select x.uid,x.appid,y.appname
from ods_bas_user_download_android_appall x
left join ods_bas_android_app_info y
       on x.appid=y.appid
where  x.dt='20131212'
and x.refresh_date>='20131111'
and x.is_active='1'
發糞塗牆 2014-01-21
  • 打赏
  • 举报
回复
回复请引用。
發糞塗牆 2014-01-21
  • 打赏
  • 举报
回复
试试,你的是sqlserver?
SELECT  x.uid ,
        x.appid ,
        y.appname
FROM    ods_bas_user_download_android_appall AS x
        INNER JOIN ods_bas_android_app_info AS y ON x.appid = y.appid
WHERE   x.dt = '20131212'
        AND x.refresh_date >= '20131111'
        AND x.is_active = '1'
  • 打赏
  • 举报
回复
是啊 报错了 如下
發糞塗牆 2014-01-21
  • 打赏
  • 举报
回复
看不出代码有语法问题,估计你的是数据问题吧?
LongRui888 2014-01-21
  • 打赏
  • 举报
回复
无法执行是什么意思? 是报错了,还是无法实现你的需求
發糞塗牆 2014-01-21
  • 打赏
  • 举报
回复
能编译,你说的不行是什么意思,报错?
SELECT  x.uid ,
        x.appid ,
        y.appname
FROM    ods_bas_user_download_android_appall x ,
        ods_bas_android_app_info y
WHERE   x.appid = y.appid
        AND x.dt = '20131212'
        AND x.refresh_date >= '20131111'
        AND x.is_active = '1'

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧