2016-12-23 6 views
0

У меня есть таблица, которая имеет 3 измерения и 2 метрики (например, только один из многих)SQL Классифицировать таблицы с использованием «от-до»

Стол что-то вроде:

enter image description here

И у меня есть эта другая таблица, которая помогает классифицировать:

enter image description here

И конечный результат должен быть:

enter image description here

Эта проблема преследует меня за последние шесть месяцев

Может кто-нибудь мне помочь?

Пожалуйста, найти примеры данных HERE

ответ

2

Пожалуйста, попробуйте ниже SQL:

SELECT A.dt,A.source,A.compaing,A.sessions,A.pageviews, 
CASE WHEN B.value IS NULL THEN 
    'Unknown' 
ELSE 
     B.value 
END Vehicle, 
CASE WHEN C.value IS NULL THEN 
    'Unknown' 
ELSE 
    C.value 
END Effort 
FROM table1 A 
LEFT JOIN table2 B ON B.from='source' AND A.source like '%' + B.pattern + '%' 
LEFT JOIN table2 C ON C.from='campaign' AND A.compaing like '%' + C.pattern 
+0

Привет Динеш, спасибо за Ваш ответ. Я не уверен, возможно ли сделать «LIKE» внутри предложения «ON» в других базах данных, но в Bigquery (который я использую) это невозможно. Кроме того, запрос не распространяется, если совпадение не найдено, и в этом случае нужно назначить значение «Неизвестно», а не выкидывать линии. Во всяком случае, я очень рад вашему ответу. –

+0

Вы можете использовать левое соединение вместо внутреннего соединения для включения случаев «Неизвестно». Я обновил мой выше SQL для того же самого. –

Смежные вопросы