Wpis z mikrobloga

Mam pytanie dotyczące SQL. (Diagram bazy dołączony)

Mam napisać zapytanie które odpowiada na pytanie

Który z pracowników obsłużył zamówienia o największej wartości w 1997r, podaj jego imię i nazwisko



select
```**```
 top 1 Employees.FirstName, Employees.LastName, 
```**```
sum
```**```
([
```**```
Order
```**```
 Details].Quantity*[
```**```
Order
```**```
 Details].UnitPrice) suma

```**```
from
```**```
 Employees 
```**```
inner
```**```
 
```**```
join
```**```
 Orders 
```**```
on
```**```

Employees.EmployeeID = Orders.EmployeeID 
```**```
join
```**```
 [
```**```
Order
```**```
 Details] 
```**```
on
```**```

Orders.OrderID = [
```**```
Order
```**```
 Details].OrderID

```**```
group
```**```
 
```**```
by
```**```
 Employees.EmployeeID, Employees.FirstName, Employees.LastName, 
```**```
YEAR
```**```
(Orders.OrderDate)

```**```
having
```**```
 
```**```
YEAR
```**```
(Orders.OrderDate) = 1997

```**```
order
```**```
 
```**```
by
```**```
 suma 
```**```
desc

</b>

Teraz mam napisać podobne zapytanie, tylko że w wyniku mam dostać tylko pracowników którzy mają podwładnych. Za podwładnych odpowiada pole ReportsTo w tabeli Employees. Nie za bardzo wiem jak się za to wziąć. Byłbym wdzięczny za pomoc.

#sql #pytanie #programowanie
1608 - Mam pytanie dotyczące SQL. (Diagram bazy dołączony)



Mam napisać zapytanie k...

źródło: comment_rMJq6SgB9HV58EgjsqUdWkpuAw64mZjE.jpg

Pobierz
  • 11
  • Odpowiedz
@nocnyMark: No wtedy znajdę chyba tych którzy mają jakiś przełożonych? Może nie wyjaśniłem się jasno, ale ReportsTo odpowiada za to do kogo raportujemy :)
  • Odpowiedz
@mnopz: Ale istnieje przecież taka możliwość że np. osoba z id=5 raportuje do osoby z id=2 która raportuje do osoby z id=1. Wieć osoby id=1, id=2 mają podwładnych a jak będę szukał czy nie jest puste to nie znajdę osoby z id=2 ?
  • Odpowiedz
@1608: jeszcze raz przeczytalem, chodzi o osoby ktore maja podwladnych? Mozesz zalozyc ze conajmniej raz bedzie odwolanie do tej osoby w reportsto. Wtedy ograniczasz liste employeeid do tych, ktorzy wysepuja w reportsto
  • Odpowiedz
@mnopz: Tak chodzi o osoby co mają podwładnych. Hmm, to może zadziałać. A jak coś takiego napisać w SQL? (jestem początkujący i nie ogarniam jeszcze dużo z SQLa)
  • Odpowiedz