|
|
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
Привет, ребята! Помогите , пожалуйста разобраться как решить задачку! Я начинающий спец по выборке SQL запросов, не все сразу становится понятно, поэтому прошу вас о помощи. Условия задачки такие : Select all Employees who did not make any orders before July 8th 1996 (including); мой половинчатый запрос таков SELECT LastName,FirstName FROM Employees JOIN Orders ON Employees.EmployeeID = Orders.EmployeeID WHERE OrderDate <= '1996-07-08' и понимаю, что нужно применить функцию COUNT на условие (who did not make any orders) но не понимаю как применить? подзапрос делать? ниже ссылка , где можно посмотреть связи таблиц https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 15:35 |
|
||
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
nikav123 who did not make any orders before July 8th 1996 "нет человека, нет проблемы.." нет заказа - нет даты заказа (OrderDate is null) - оставьте COUNT в покое.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 15:51 |
|
||
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
nikav123, 1) SELECT LastName,FirstName FROM Employees LEFT JOIN Orders ON Employees.EmployeeID = Orders.EmployeeID WHERE OrderDate <= '1996-07-08' and Orders.EmployeeID is null 2) SELECT LastName,FirstName FROM Employees WHERE not exists (select 1 from Orders where Employees.EmployeeID = Orders.EmployeeID and OrderDate <= '1996-07-08') ps если гугль правильно перевел Выберите всех сотрудников, которые не делали заказы до 8 июля 1996 года (в том числе); ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 15:54 |
|
||
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
Stax, ой ... OrderDate <= date '1996-07-08' ... .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 15:56 |
|
||
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
Stax, по вашему запросу нет результатов никаких... было добавлено и date, LEFT,and Orders.EmployeeID is null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 16:02 |
|
||
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
Viewer, ваша подсказка также не работает((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 16:03 |
|
||
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
database said- no result ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 16:04 |
|
||
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
nikav123Viewer, ваша подсказка также не работает((( мне лень смотреть структуру таблиц, так что это была не подсказка а лишь намёк.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 16:06 |
|
||
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
понятно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 16:10 |
|
||
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. MySQL такой MySQL... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 16:12 |
|
||
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
Staxой Stax, ой тут в плане медитации над разницей между ON и WHERE в OUTER JOIN. Медитируй. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 16:13 |
|
||
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
Dshedoo ,благодарю, есть результат))) а почему нельзя обыграть вариант соператорами is null ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 16:22 |
|
||
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
nikav123Dshedoo ,благодарю, есть результат))) а почему нельзя обыграть вариант соператорами is null ? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. Например: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 16:27 |
|
||
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
nikav123Stax, по вашему запросу нет результатов никаких... было добавлено и date, LEFT,and Orders.EmployeeID is null Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 16:27 |
|
||
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
nikav123Dshedoo ,благодарю, есть результат))) а почему нельзя обыграть вариант соператорами is null ? Можно. Обыгрывай) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 16:30 |
|
||
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
SYStaxой Stax, ой тут в плане медитации над разницей между ON и WHERE в OUTER JOIN. Медитируй. SY. исправил (спешка к добру не приводит) ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 16:51 |
|
||
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
SY, спасибо! очень помогли)) а можно еще у вас попросить объяснить логику почему именно LEFT JOIN? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 20:12 |
|
||
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
Stax, благодарю !! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 20:45 |
|
||
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
nikav123объяснить логику почему именно LEFT JOIN? LEFT OUTER JOIN возвращает ВСЕ строки левой таблицы даже если в правой таблице соответствующей строки нет. В таком случае строка левой таблицы соединяется с гипотетической строкой правой таблицы где все поля NULL. Посему когда мы делаем LEFT OUTER JOIN по EmployeeID и OrderDate <= date '1996-07-08' то для всех Employee.EmployeeID для которых нет строк в Orders с таким-же EmployeeID и OrderDate <= date '1996-07-08' LEFT OUTER JOIN вернет NULL для всех полей Orders. После чего с помошью WHERE Orders.EmployeeID is NULL мы выбираем именно эти строки. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 20:52 |
|
||
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
Еще одно решение через MINUS: Код: plsql 1. 2. 3. 4. 5. 6. 7. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 21:01 |
|
||
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
SY! как для новичка, мне еще тренироваться и тенироваться с такого плана решениями)) может вы еще сможете подсказать что делаю не так в другой уже задаче?)))так свзять с 4 таблицами насколько я верно понимаю... Вот условие Display all customers information who ordered "Tofu" product, order results from highest customer id to lowest вот мое решение SELECT CustomerName,ContactName,Address,Ci ty,PostalCode,Country FROM Customers JOIN Orders ON Customers.CustomerID = Orders.CustomerID WHERE OrderID = (SELECT OrderID FROM OrderDetails JOIN Products ON OrderDetails.ProductID = Products.ProductID WHERE ProductName = 'Tofu') ORDER BY CustomerID DESC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 21:05 |
|
||
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
БД ругается : "Error 1: could not prepare statement (1 ambiguous column name: CustomerID)" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 21:10 |
|
||
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
nikav123, В запросе Код: plsql 1. 2. 3. 4. Используется дважды столбец CustomerID , как от таблицы Customers так и Orders Укажите явно требуемый столбец в конструкции ORDER BY. Например , в виде ORDER BY Customers.CustomerID desc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 22:40 |
|
||
|
SOS!Помогите разобраться с задачкой
|
|||
|---|---|---|---|
|
#18+
nikav123, авторDisplay all customers information who ordered "Tofu" product, order results from highest customer id to lowest Код: sql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 23:06 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=122&tid=1884305]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 223ms |
| total: | 359ms |

| 0 / 0 |
