删除BigQuery中的值为X的嵌套字段

时间:2020-03-06 14:41:46

标签: google-bigquery

所以我有一些看起来像这样的动物:

{ "collection":
  [
      {   "name":"cow",
      "parts": [
          {"part_name":"legs"},
          {"part_name":"rumen"},
          {"part_name":"tail"},
          {"part_name":"nostrils"}
      ]
      },
      {   "name":"sheep",
      "parts": [
          {"part_name":"legs"},
          {"part_name":"rumen"},
          {"part_name":"tail"},
          {"part_name":"nostrils"}
      ]
      },
      {   "name":"goat",
      "parts": [
          {"part_name":"legs"},
          {"part_name":"rumen"},
          {"part_name":"tail"},
          {"part_name":"nostrils"}
      ]
      },
      {   "name":"dog",
      "parts": [
          {"part_name":"ears"},
          {"part_name":"nipples"},
          {"part_name":"legs"},
          {"part_name":"nostrils"}
      ]
      }
  ]
}

我不喜欢part_name“ rumen”,所以我想编写一条delete语句,该语句仅删除值为“ rumen”的嵌套字段,即:

delete from animals where parts.part_name = 'rumen';

但这不是解决的办法。我该如何实现?

编辑:动物表解释了(部分是重复的字段):

|   animal_name   |            parts.part_name           |
+-----------------+--------------------------------------+
|       cow       |                  legs                |
|                 |                  rumen               |
|                 |                  tail                |
|                 |                 nostrils             |
+-----------------+--------------------------------------+
|      sheep      |                  legs                |
|                 |                  rumen               |
|                 |                  tail                |
|                 |                 nostril              |
+-----------------+--------------------------------------+
|       goat      |                  legs                |
|                 |                  rumen               |
|                 |                  tail                |
|                 |                 nostrils             |
+-----------------+--------------------------------------+
|        dog      |                  ears                |
|                 |                 nipples              |
|                 |                  legs                |
|                 |                 nostrils             |
+-----------------+--------------------------------------+

1 个答案:

答案 0 :(得分:1)

您不能// Here 'codeElement' is the Function Having Parameters. foreach (CodeElement codeElement2 in codeElement.Children) { if (codeElement2.Kind == vsCMElement.vsCMElementParameter) { string parameterName = codeElement2.Name; string parameterDataType = ((CodeParameter)codeElement2).Type.AsString; VsShellUtilities.ShowMessageBox( this.package, ">>>>>" + " : " + parameterName + " : " + parameterDataType, "MESSAGE...", OLEMSGICON.OLEMSGICON_INFO, OLEMSGBUTTON.OLEMSGBUTTON_OK, OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST); } } 嵌套字段。您可以做的是delete所有具有update且所有数组值都为rumen除外的记录。我不太确定您的架构,但是应该是这样的

rumen