【发布时间】:2021-04-20 19:02:44
【问题描述】:
我正在尝试使用重复的字符串字段过滤 BigQuery 表中的行。 我想根据至少包含一个预定义列表中的一个值但不包含来自第二个预定义列表的任何值的行进行过滤。
这是我的查询:
SELECT em.asin, em.category
FROM
`my_proj.amazon_data.electronics_meta` as em,
UNNEST(em.category) as sub_cat
WHERE sub_cat IN ('Television & Video', 'Televisions', 'Television & Video')
AND sub_cat NOT IN (
'DVD Players & Recorders',
'Projection Screens',
'VCRs',
'Blu-ray Players',
'Blu-ray Players & Recorders'
)
我希望第一行不会出现,因为它在 category 字段中包含“VCR”。
我也试过
AND LOWER(TRIM(sub_cat)) NOT IN (
'dvd players & recorders',
'projection screens',
'vcrs',
'blu-ray players',
'blu-ray players & recorders'
)
和
AND NOT (sub_cat IN (
'DVD Players & Recorders',
'Projection Screens',
'VCRs',
'VCRs',
'Blu-ray Players',
'Blu-ray Players & Recorders'
))
但这不会改变结果。
【问题讨论】:
标签: sql google-bigquery