我有下表:
row | cust_id | name
1 | 34 | word1 word2 someworkd
| | something word1
| | blabla
2 | 35 | word1 word2 word3
| | word4 word5
选择*结果JSON
[
{
"cust_id": "34",
"name": [
"word1 word2 someworkd",
"something word1",
"blabla"
]
},
{
"cust_id": "35",
"name": [
"word1 word2 word3",
"word4 word5",
"word1word5"
]
}
]
schema JSON:
[
{
"mode": "NULLABLE",
"name": "cust_id",
"type": "STRING"
},
{
"mode": "REPEATED",
"name": "name",
"type": "STRING"
}
]
我想通过cust_id和重复的字段来过滤它们的值,所以查询如下:
SELECT * FROM `mytable` WHERE cust_id='34' and name like'%word1%'
查询的预期输出:
row | cust_id | name
1 | 34 | word1 word2 someworkd
| | something word1
JSON格式查询的预期输出:
{
"cust_id": "34",
"name": [
"word1 word2 someworkd",
"something word1"
]
}
]
受这个问题的启发BigQuery:用标准SQL过滤重复字段我试试这个查询:
SELECT cust_id, name FROM `mytable`, UNNEST(name) AS name WITH OFFSET o
WHERE name like '%word1%' and cust_id='34'
哪个输出:
row | cust_id | name
1 | 34 | word1 word2 someworkd
| 34 | something word1
输出JSON:
[
{
"cust_id": "34",
"name": "word1 word2 someworkd"
},
{
"cust_id": "34",
"name": "something word1"
}
]
输出结果是不一样的,我想有,我如何才能实现这一点?
以下是 BigQuery Standard SQL
#standardSQL
SELECT * REPLACE(
ARRAY(SELECT * FROM t.name WHERE name LIKE'%word1%')
AS name)
FROM `project.dataset.table` t
WHERE cust_id = 34
我将发布我所做的解决方案,该解决方案根据需要工作,可能对其他人有用
SELECT
cust_id,
ARRAY(
SELECT
name
FROM
`mytable`,
UNNEST(name) AS name
WHERE
name LIKE '%word1%'
AND cust_id='34') AS name
FROM
`mytable`
WHERE
cust_id="34"
结果:
row | cust_id | name
1 | 34 | word1 word2 someworkd
| | something word1
JSON:
[
{
"cust_id": "34",
"name": [
"word1 word2 someworkd",
"something word1"
]
}
]
我在Google BigQuery中有一个表,它由几个字段组成,然后是一个可能包含一个或多个对象的重复记录。我想在重复数据中创建一个新表,其中包含一个额外字段,并将原始数据复制到新表中,用GENERATE_UUID()的输出填充新字段,以便每个重复数据行都有一个唯一标识符。 我有一个类似的问题,当目标包含重复字段时,如何从一个BigQuery表复制到另一个?但我不知道如何调整它以适应我当前的用例。
这似乎是一个基本问题,但我无法在其他地方找到答案。如果这是一个重复的帖子,请原谅。 是否可以对标记为@XmlAccessorType(XmlAccessType. FIELD)的类进行@XmlValue注释? 我正在尝试使用JAXB解析XML文件,虽然XML本身很大并且有其他字段,但问题特定于此字段: 映射为: 该字段在XML中声明为令牌类型。 @XmlValue注释给我一个IllegalAnno
问题内容: 当我需要使用LIKE%..%语句中的字段中的值时,我陷入了一个微妙的SQL问题。 例子: 这只是我脑海中的一个例子,显示了我需要做的事情(我知道这是行不通的)。我需要在LIKE%..%中使用t2.Name的值 我想这是微不足道的;) 问题答案: 使用:
我有一个如下所示的对象列表: 我想将其转换为如下对象列表: 基本上将同一类别的所有值相加。 我应该使用平面图吗?减少我不明白这些的细微差别。 帮助 编辑: 这个问题有密切的重复:流中是否有聚合通过方法Java8 api?和带有Stream API的对象的总和属性 但在这两种情况下,最终的结果都是地图,而不是列表 根据@AndrewTobilko和@JBNizet的回答,我使用的最终解决方案是:
例如insert时需要忽略某个特定属性, update时只更新某些属性, 查询时需要跳过大字段等。 FieldFilter/FieldMatcher提供细致的过滤选项,包括: 黑名单(locked) 白名单(actived) 忽略空值(ignoreNull) 忽略数值0(ignoreZero) 忽略日期属性(ignoreDate) 忽略空字符串(ignoreBlankStr) 忽略数值型主键(ig