where子句中的超级列名

时间:2012-03-04 13:25:12

标签: nosql hypertable

我有2列的应用程序即。城市,类别。我希望适合这种情况。

还有我想添加为ID的ID。

create table ads (city, category);

insert into ads values ("1", "city:mumbai", "1");
insert into ads values ("1", "category:cars", "1");
insert into ads values ("2", "city:pune", "1");
insert into ads values ("2", "category:bikes", "1");

我的问题是如何获取city = mumbai的行,该行应该获取2行ROW = 1.

所以假设我会在MySQL中进行类似的查询..

select * from ads where city = "mumbai"; 

我将获得1行,其中category = cars,city = mumbai和id = 1 ..如何在超级查询中获得同样的效果?

感谢。

1 个答案:

答案 0 :(得分:0)

它似乎是当前的限制,如下: http://hypertable.com/documentation/reference_manual/hql/#select
当您查询列时,您只能获得列值作为结果 他们说:

  

(这些限制将在未来的Hypertable版本中删除)

列值谓词

指定列值谓词时,列族必须与SELECT子句中使用的列族相同,并且必须选择一个列族。以下示例有效:

 SELECT col FROM test WHERE col = "foo";
 SELECT col FROM test WHERE col =^ "prefix";

以下示例无效,因为它们选择了多个列族,或者因为select子句中的列族与谓词中的列族不同(这些限制将在以后的Hypertable版本中删除):

SELECT * FROM test WHERE col = "foo";
SELECT col, col2 FROM test WHERE col =^ "prefix";
SELECT foo FROM test WHERE bar = "value";