Исходя из того, как вы задали вопрос - я действительно чувствую, что в вашей реальной таблице есть только один ряд на корзину с двумя полями: корзина и фрукты, как показано ниже
WITH `project.dataset.your_table` AS (
SELECT "basket_1" AS basket, "apple,mango,orange" AS fruits UNION ALL
SELECT "basket_2","apple,apple,pine_apple,pine_apple" UNION ALL
SELECT "basket_3","mango, orange"
)
если это правильно - ниже описано, как с этим бороться
#standardSQL
SELECT basket, fruits,
ARRAY(SELECT fruit FROM UNNEST(SPLIT(fruits)) fruit WHERE LOWER(fruit) = 'apple') apples
FROM `project.dataset.your_table`
Вы можете протестировать / поиграть с ним, используя указанные выше фиктивные данные как
#standardSQL
WITH `project.dataset.your_table` AS (
SELECT "basket_1" AS basket, "apple,mango,orange" AS fruits UNION ALL
SELECT "basket_2","apple,apple,pine_apple,pine_apple" UNION ALL
SELECT "basket_3","mango, orange"
)
SELECT basket, fruits,
ARRAY(SELECT fruit FROM UNNEST(SPLIT(fruits)) fruit WHERE LOWER(fruit) = 'apple') apples
FROM `project.dataset.your_table`
и результат будет
Row basket fruits apples
1 basket_1 apple,mango,orange apple
2 basket_2 apple,apple,pine_apple,pine_apple apple
apple
3 basket_3 mango, orange