Ниже для BigQuery Standard SQL
#standardSQL
SELECT
s.siteid,
s.notes, --This is the column that CSI uses for the description.
IF(v, SPLIT(s.notes,'/')[OFFSET(0)], NULL) French,
IF(v, SPLIT(s.notes,'/')[SAFE_OFFSET(1)], SPLIT(s.notes,'/')[OFFSET(0)]) English
FROM `AloomaTestBeta.SCSERVICES` s, UNNEST([s.notes LIKE '%/%']) v
Вы можете протестировать, поиграть с выше, используя примеры данных из вашего вопроса, как в примере ниже
#standardSQL
WITH `AloomaTestBeta.SCSERVICES` AS (
SELECT 412 siteid, 'Le cardio-/ Cardio Tennis' notes UNION ALL
SELECT 412, 'Le cardio-/Cardio Tennis' UNION ALL
SELECT 412, 'La ligue de / Drop-In Tennis' UNION ALL
SELECT 411, 'An extended duration' UNION ALL
SELECT 411, 'Increase flexibility'
)
SELECT
s.siteid,
s.notes, --This is the column that CSI uses for the description.
IF(v, SPLIT(s.notes,'/')[OFFSET(0)], NULL) French,
IF(v, SPLIT(s.notes,'/')[SAFE_OFFSET(1)], SPLIT(s.notes,'/')[OFFSET(0)]) English
FROM `AloomaTestBeta.SCSERVICES` s, UNNEST([s.notes LIKE '%/%']) v
с результатом
Row siteid notes French English
1 412 Le cardio-/ Cardio Tennis Le cardio- Cardio Tennis
2 412 Le cardio-/Cardio Tennis Le cardio- Cardio Tennis
3 412 La ligue de / Drop-In Tennis La ligue de Drop-In Tennis
4 411 An extended duration null An extended duration
5 411 Increase flexibility null Increase flexibility
Если вы поняли, как работает выше - вы готовы к более элегантному решению
#standardSQL
SELECT
s.siteid,
s.notes, --This is the column that CSI uses for the description.
SPLIT(s.notes,'/')[SAFE_OFFSET(v)] French,
SPLIT(s.notes,'/')[SAFE_OFFSET(1 - v)] English
FROM `AloomaTestBeta.SCSERVICES` s, UNNEST([IF(s.notes LIKE '%/%', 0, 1)]) v