Hi,

> but it should be supported in raw data query too.

+1

It seems that the "align by device query" has no advantages when using alias. 
E.g., 【select s1 as column1 from root.sg.d1, root.sg.d2 align by device】 also 
throw exception.

Therefore, we should restrict that the from clause only has one prefix path.

For our query sql, it can be seen as: 【select suffixPath1 as alias1, 
suffixPath2 as alias2, ... from prefixPath】

The raw paths are:
prefixPath.suffixPath1 -> alias1
prefixPath.suffixPath2 -> alias2
...

Then we need to check whether the prefixPath.suffixPath matches one series.

There are some examples that should be supported with alias:

select d1.s1 as column1 from root.sg
select * as column1 from root.sg.d1
select count(s1) as column1 from root.sg.d1
select count(s1) as column1 from root.sg.d1 group by (xxx) fill(xxx)

Thanks,
--
Jialin Qiao
School of Software, Tsinghua University

乔嘉林
清华大学 软件学院

> -----原始邮件-----
> 发件人: "Xiangwei Wei" <[email protected]>
> 发送时间: 2020-08-13 21:21:03 (星期四)
> 收件人: [email protected]
> 抄送: 
> 主题: Re: [New feature] Add the alias and show it as column name when querying
> 
> Hi Xiangdong,
> 
> > if only one time series can be matched that starts with "root.sg" and
> ends with "s1", it is ok,otherwise throw an exception.
> 
> You are right, thanks for the illustration.
> 
> 
> > But for queries like "select s1 from root.sg.* align by device", the
> cases you mentioned will never happen, which is more graceful.
> 
> I agree with the point you mentioned. This new feature is more suitable for
> align by device query, but it should be supported in raw data query too.
> 
> Xiangdong Huang <[email protected]> 于2020年8月13日周四 下午5:29写道:
> 
> > Hi,
> >
> > > So we have to request that *every alias input by users is matching one
> > time
> > series exactly.*
> >
> >  for a query like `select s1 from root.sg.*`,  if only one time series can
> > be matched that starts with "root.sg" and ends with "s1", it is ok,
> > otherwise throw an exception.
> > It is fine...
> >
> > But for queries like "select s1 from root.sg.* align by device", the cases
> > you mentioned will never happen, which is more graceful.
> >
> > So, maybe this feature is more suitable for such kind of queries.
> >
> > Best,
> > -----------------------------------
> > Xiangdong Huang
> > School of Software, Tsinghua University
> >
> >  黄向东
> > 清华大学 软件学院
> >
> >
> > Xiangwei Wei <[email protected]> 于2020年8月13日周四 下午2:46写道:
> >
> > > Hi,
> > >
> > > I'm prepared to add a new feature in IoTDB as follows:
> > >
> > > Currently, when doing a query like *`select s1 from root.sg.d1`*, the
> > > result shows like:
> > >
> > > | Time | root.sg.d1.s1|
> > > |    ...   |          ...        |
> > >
> > > The column name *includes all prefix paths which are complex* and seem
> > > inflexible and inconvenient in some situations.
> > >
> > > Therefore, I think we can add a new feature by adding the alias of time
> > > series, which is like a relational database. For example, *`select s1 as
> > > d1_temperature form root.sg.d1`*
> > >
> > > The result will be like:
> > >
> > > | Time | d1_temperature |
> > > |   ...    |            ....           |
> > >
> > >
> > > However, the new feature may be *limited* in IoTDB as a time series
> > > database.
> > > Because it's not matching one time series for one suffix path exactly in
> > > SELECT Clause. For example, `select s1 as temperature from root.sg`. If
> > > two
> > > devices d1 and d2 exist in root.sg, then they can't both be temperature.
> > > We
> > > have to throw an exception here.
> > >
> > > So we have to request that *every alias input by users is matching one
> > time
> > > series exactly.*
> > >
> > >
> > > Any suggestions or questions are welcome! Thank you!
> > >
> > >
> > >
> > > --
> > > Best,
> > > Xiangwei Wei
> > >
> >
> 
> 
> -- 
> Best,
> Xiangwei Wei

Reply via email to