у меня есть две таблицы следующим образом:SQL объединить таблицы
Table1:
f1 f2
1 2
3 4
5 6
7 8
TABLE2:
f1 f3 f4
1 R 20
1 m 10
1 m 30
3 m 5
5 R 20
Так что теперь мне нужен стол, как:
f1 f2 SUM(f4 where f3=m)
1 2 40
3 4 5
5 6 null
7 8 null
Другими словами, если f1 существует в таблице 2 и f3 = 'm', то g et, в противном случае просто выберите все данные из таблицы1.
Я попытался следующие коды:
SELECT T1.* , T2.SUM(f4)
FROM Table1 AS T1
LEFT OUTER JOIN Table2 AS T2 ON T1.f1 = T2.f1
WHERE T2.f3='m'
Это показывает только одно существуют в Table2 и если я делаю:
SELECT T1.* , T2.SUM(f4)
FROM Table1 AS T1
LEFT OUTER JOIN Table2 AS T2 ON T1.f1 = T2.f1 AND T2.f3='m'
Выводит 20 для f3, 5 и 60 для 1.
Вы уверены, что в синтаксисе вашей группы по предложению? –
Нет, мой плохой. Хороший звонок. – Walt