Изучаем sql


SELECT product_cd, open_branch_id branch_id, open_emp_id emp_id



Pdf көрінісі
бет168/261
Дата28.07.2022
өлшемі1,6 Mb.
#147825
1   ...   164   165   166   167   168   169   170   171   ...   261
Байланысты:
Изучаем SQL ( PDFDrive )

SELECT product_cd, open_branch_id branch_id, open_emp_id emp_id,
> SUM(avail_balance) tot_deposits
> FROM account
> GROUP BY product_cd, open_branch_id, open_emp_id;
+++++
| product_cd | branch_id | emp_id | tot_deposits |
+++++
| BUS | 2 | 10 | 9345.55 |
| BUS | 4 | 16 | 0.00 |
| CD | 1 | 1 | 11500.00 |
| CD | 2 | 10 | 8000.00 |
| CHK | 1 | 1 | 782.16 |
| CHK | 2 | 10 | 3315.77 |
| CHK | 3 | 13 | 1057.75 |
| CHK | 4 | 16 | 67852.33 |
| MM | 1 | 1 | 14832.64 |
| MM | 3 | 13 | 2212.50 |
| SAV | 1 | 1 | 767.77 |
| SAV | 2 | 10 | 700.00 |
| SAV | 4 | 16 | 387.99 |
| SBL | 3 | 13 | 50000.00 |
+++++
14 rows in set (0.01 sec)
Это – сердце запроса; все остальные таблицы нужны только для того,
чтобы обеспечить осмысленные строки для шапки таблицы вместо имен
столбцов внешних ключей 
product_cd

open_branch_id
и 
open_emp_id
. Сле
дующий запрос включает запрос к таблице 
account
в качестве подзапроса
и соединяет результирующую таблицу с тремя остальными таблицами:
mysql> 
SELECT p.name product, b.name branch,
> CONCAT(e.fname, ' ', e.lname) name,
> account_groups.tot_deposits
> FROM
> (SELECT product_cd, open_branch_id branch_id,
> open_emp_id emp_id,
> SUM(avail_balance) tot_deposits
> FROM account
> GROUP BY product_cd, open_branch_id, open_emp_id) account_groups
> INNER JOIN employee e ON e.emp_id = account_groups.emp_id
> INNER JOIN branch b ON b.branch_id = account_groups.branch_id


Использование подзапросов
189
> INNER JOIN product p ON p.product_cd = account_groups.product_cd


Достарыңызбен бөлісу:
1   ...   164   165   166   167   168   169   170   171   ...   261




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет