我需要完全在客户端构建一个Twitter模块。
我打算将Twitter API用于数据,YQL用于Same Origin Policy,以及更高的速率限制。我成功之前就使用过这种组合。
我需要做的一件事是获取带有主题标签和来自有限用户的推文列表。
This gets tweets with the #stackoverflow
hash tag by users alexdickson
and lizardbill
.
我还需要获得一组不同的推文。
This gets all tweets with the #stackoverflow
hash tag.
现在,我需要显示第二个集合,但不包括第一个集合的结果。这将是结果的 diff ,例如PHP的array_diff()
。
为了完整性,我可能还需要通过获得两个结果的交集来实现某些目标,即两个结果集中出现的推文列表。这类似于PHP的array_intersect()
。
我用过SQL已经有一段时间了,不能想到如何在YQL中实现这一点。
答案 0 :(得分:2)
看起来我终于明白了。 YQL支持子查询。
SELECT results
FROM json
WHERE url = "http://search.twitter.com/search.json?q=%23stackoverflow"
AND results.id NOT IN (SELECT results.id
FROM json
WHERE url =
"http://search.twitter.com/search.json?q=%23stackoverflow%20from%3aalexdickson,%20OR%20from%3alizardbill"
)
答案 1 :(得分:2)
YQL支持子选择(子查询)。见Joining Tables with Sub-selects。子选择与IN
operator一起使用,以过滤外部选择的结果。
对于您的特定查询,还有一个twitter.search
Community Open Data Table可用于避免您构建Twitter网址并使用json
表。
select *
from twitter.search
where q="#stackoverflow"
and id not in (
select id
from twitter.search
where q="#stackoverflow from:alexdickson, OR from:lizardbill"
)