Итак, моя проблема в том, что у меня три таблицы, с которыми я работаю, Table A
/ Table B
/ Table C
, Table A & Table B
обе имеют числовые механизмы внутри них.Допустим, Table A
- это Расход, Table B
- Доход.Table C
содержит название видеоигры и вторичное имя, которым она называется.То, что я пытаюсь сделать, - это иметь возможность отображать и добавлять имя видеоигры и вторичное имя видеоигры.
Я пытался сделать что-то вроде
a.Name LIKE c.Name_Secondary
Но это только показывает a.Name
результаты.Таблицы выглядят следующим образом:
Table A
Name | Revenue
TW WH2 | 30.00
Battlefield | 20.00
TW WH2 | 15.00
Battlefield | 5.00
T2 DLC 18674 | 5.00
B DLC 57948 | 10.00
T2 DLC 18674 | 5.00
B DLC 57948 | 5.00
Table B
Name | Spend
TW WH2 | 60.00
Battlefield | 40.00
TW WH2 | 40.00
Battlefield | 20.00
T2 DLC 18674 | 9.00
B DLC 57948 | 15.00
T2 DLC 18674 | 10.00
B DLC 57948 | 9.00
Table C
Name | Name_Secondary
TW WH2 | T2 DLC 18674
Battlefield | B DLC 57948
Текущий мой запрос выглядит так:
SELECT DISTINCT
a.Name,
SUM(b.Spend),
SUM(a.Revenue)
FROM
Example.Table_A a
INNER JOIN
(
SELECT
Name,
SUM(Spend) AS Spend
FROM
Example.Table_B
GROUP BY 1) b
ON
a.Name = b.Name
INNER JOIN
Example.Table_C c
ON
a.Name = b.Name
GROUP BY
1
Я пытался добавить Name_Secondary
в первый SELECT,
SELECT DISTINCT
a.Name,
c.Name_Secondary
SUM(b.Spend),
SUM(a.Revenue)
FROM
Example.Table_A a
Но результаты, которые я получил, были получены только от a.Name
, результаты, которые я получил, следующие:
Name | Name_Secondary | Spend | Revenue
TW WH2 | T2 DLC 18674 | 100.00 | 45.00
Battlefield | B DLC 57948 | 60.00 | 25.00
Я также пытался добавить его в функцию WHERE
, что-то вроде:
WHERE
a.Name LIKE c.Name_Secondary
GROUP BY
1
Но тот же результат, что и выше, отображался без вставленного столбца Name_Secondary
.
Я хотел бы, чтобы результаты отображались:
Name | Spend | Revenue
TW WH2 | 118.00 | 55.00
Battlefield | 84.00 | 40.00
Возможно ли это сделать?Или это будет что-то вроде:
WHERE
(a.Name LIKE '%TW%'
OR a.Name LIKE '%Batt%'
OR a.Name LIKE '%T2_DLC_18674%'
OR a.Name LIKE '%B_DLC_57948%')
GROUP BY
1
Любая помощь будет большой, и если понадобятся дополнительные разъяснения, я, безусловно, могу добавить дополнительную информацию в качестве правки.
-Maykid
EDIT1
Я должен пояснить это подробнее, TableC
является только справочной таблицей, которая имеет Names
, которая содержит только Name_Secondary
.Таким образом, для TableA
& TableC
у них будут сотни имен, а у TableC
будет только несколько (20-30).Например:
Table A
Name
TH WH2
Battlefield
TH WH
Satisfactory
Starcraft II
Table C
Name | Name_Secondary
TW WH2 | T2 DLC 18674
Battlefield | B DLC 57948
Как вы можете видеть для этого, Table C
имеет только 2 из 5 Names
, перечисленных в списке, а только 2 имеют Name_Secondary
.Извините за путаницу и не уточняю ее лучше!