1

私は2列のアプリケーションを持っています。都市、カテゴリ。これをハイパーテーブルに収めたい。

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");

私の質問は、ROW = 1 の 2 行を取得する必要がある都市 = ムンバイの行を取得する方法です。

したがって、MySQL で同様のクエリを作成するとします。

select * from ads where city = "mumbai"; 

category=cars、city=mumbai、id=1 の 1 行を取得します。ハイパーテーブル クエリで同じことを達成するにはどうすればよいですか?

ありがとう。

4

1 に答える 1

0

http://hypertable.com/documentation/reference_manual/hql/#selectに書かれているように、現在の制限のよう
です。列のクエリを実行すると、結果として列の値のみを取得できます。
彼らが言うには:

(これらの制限は、Hypertable の将来のバージョンで削除される予定です)

列値述語

列値述語を指定する場合、列ファミリーは SELECT 句で使用される列ファミリーと同一である必要があり、正確に 1 つの列ファミリーを選択する必要があります。次の例は有効です。

 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 に答える