1

分散テーブルでクエリをテストしているときに問題が発生しました。

SQL は次のようになります。

select distinct OriginCityName from on_time.ontime_all t where t."OriginStateName" = 'California'

「on_time.ontime_all」は、OriginCityName、OriginStateName などの列を持つ分散テーブルです。そしてエラー:

Received exception from server (version 1.1.54381):
Code: 171. DB::Exception: Received from localhost:9000, ::1. DB::Exception: Block structure mismatch in UNION stream: different number of columns:
OriginCityName String String(size = 0)
OriginCityName String String(size = 0), OriginStateName String String(size = 0). 

0 rows in set. Elapsed: 0.186 sec. 

ただし、SQL に対して次のいずれかを実行すると、エラーは消えます。

  • 個別に削除
  • where句を削除する
  • where を prewhere に置き換えます
  • where句の「OriginStateName」列を選択部分にも追加します
  • 選択部分をに変更select distinct *

この種の SQL は私のアプリケーションにとって重要です。それはバグですか、それとも ClickHouse の制限ですか? どうもありがとうございました。

4

0 に答える 0