Google电子表格中的SQL,选择列的多个值

时间:2018-01-22 14:32:40

标签: mysql sql google-sheets google-query-language

我有一张名为“购买”的Google工作表,其中包含各种要购买的不同商品的列。第一列称为状态,它包含如下值:

Research, Approval, Purchasing, Shipping, Invoicing, Complete.

我想编写一个SQL语句来检索所有不完整的订单,但是我想订购它们以便所有的研究都先进行,批准第二,购买第三,依此类推。

我目前的公式是:

=QUERY(Purchases;SELECT * WHERE A <> 'Completo';1)

这会检索正确的项目,但它们是混合的而不是我想要的顺序。有人能帮助我做得比这更好吗?非常感谢!

1 个答案:

答案 0 :(得分:1)

您需要按列表中的值制作自定义排序顺序。

假设您的数据在A:B范围内:

=QUERY({arrayformula( VLOOKUP(A:A, {{"Research";"Approval";"Purchasing";"Shipping";"Invoicing"},{1;2;3;4;5}},2,)), A:B}, "SELECT Col2, Col3 WHERE Col2 <> 'Complete' and Col2 <> '' order by Col1",1)

注意:

  • {{"Research";"Approval";"Purchasing";"Shipping";"Invoicing"},{1;2;3;4;5}} 是排序值的列表,您可以使用范围代替。
  • A:B更改为Purchases范围
  • 需要在查询中使用Col1表示法,因为源数据将是一个数组,而不是范围。
  • 我们按Col1排序。此列包含数字,因此排序是合法的。
  • 您可以使用select *,但会返回带有数字的列: