1

我有两列的应用程序,即。城市,类别。我想把它放在超表中。

还有一个我想添加为 ROW 的 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..如何在超表查询中实现相同的目标?

谢谢。

4

1 回答 1

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";
于 2012-06-06T20:20:24.583 回答