Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Первичный вторичный ключи
|
|||
|---|---|---|---|
|
#18+
У меня есть 3 таблицы Employee, Company, Rank создаем! Код: sql 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. 26. 27. Вставляем данные в Employee Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Вставляем данные в Company Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Вставляем данные в Rank I Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Таблица Employee Главная, через ALTER TABLE делаем CompanyID и Rank в качестве FOREIGN KEY Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Сделали, Вопрос, почему ID из Company и Rank не подгрузились в Employee? Или что я не правильно делаю Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2018, 16:21 |
|
||
|
Первичный вторичный ключи
|
|||
|---|---|---|---|
|
#18+
СОРИ, я все понял, мой ответ - а с чего вдруг бд должна понять какое ID к какому относится, нужно самому вносить значения в companyID и в Rank ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2018, 16:35 |
|
||
|
Первичный вторичный ключи
|
|||
|---|---|---|---|
|
#18+
dermamaСОРИ, я все понял, мой ответ - а с чего вдруг бд должна понять какое ID к какому относится, нужно самому вносить значения в companyID и в RankFOREIGN KEY и PRIMARY KEY - это всего лишь ограничения (CONSTRAINTS) на вставляемые, изменяемые и удаляемые записи. Есть правда, возможность делать каскадные изменения в других таблицах (при UPDATE и DELETE), но это всё равно надо явно запустить, а не ждать, что всё произойдёт само собой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2018, 19:20 |
|
||
|
Первичный вторичный ключи
|
|||
|---|---|---|---|
|
#18+
iap, Мучаюсь второй час с примером, прошу о помощи в решении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2018, 22:26 |
|
||
|
Первичный вторичный ключи
|
|||
|---|---|---|---|
|
#18+
iap, Мучаюсь второй час с примером, прошу о помощи в решении. Есть 2 таблицы ID CompanyNAME Company Adress 1 Alfa Moscow 2 Beta London 3 Gamma NY 4 Delta Paris 5 Dron Kashin 6 Penta Tver 7 Sibur SanktPiter 8 Sber Kasan 9 WTB Kostroma 10 Prom Pskov И EmployeeID EmployeeNAME EmployeeAge CompanyID Rank 1 Ivan Petrov 25 1 2 2 Petr Gavrilov 30 2 3 3 Sergey Dobrinin 28 5 1 4 Georgiy Jukov 32 1 4 5 Simonenko Ilya 22 6 7 6 Egorov Dmitriy 35 10 8 7 Ivanov Anton 29 9 6 8 Ponomarev Dmitriy 33 3 2 9 Golubev Alexey 20 5 5 10 Fedorov Mikhail 24 4 7 Задание следующее 5. Show Company name that has biggest number of employees Показать компании у которых самое большое число сотрудников... не могу понять как делать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2018, 22:31 |
|
||
|
Первичный вторичный ключи
|
|||
|---|---|---|---|
|
#18+
Я сделал вот так, но что то мне подсказывает, что это не верно так как в моих компаниях нет компаний в которых больше чем один сотрудник SELECT c.CompanyName FROM Company c INNER JOIN Employee e ON c.ID = e.EmployeeID WHERE EmployeeName = (SELECT MAX(EmployeeName) FROM Employee) GO хотя результат Dron ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2018, 22:49 |
|
||
|
Первичный вторичный ключи
|
|||
|---|---|---|---|
|
#18+
есть еще вот такой вариант, но он подходит лишь тогда, когда я знаю, больше одного уже достаточно!!! SELECT COUNT(c.CompanyName) as Name FROM Employee e INNER JOIN Company c ON e.EmployeeID = c.ID GROUP BY EmployeeID HAVING COUNT(c.CompanyName)>1 GO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2018, 22:54 |
|
||
|
Первичный вторичный ключи
|
|||
|---|---|---|---|
|
#18+
dermamaЗадание следующее 5. Show Company name that has biggest number of employees Показать компании у которых самое большое число сотрудников... не могу понять как делатьНе "компании", а "компанию", одну. Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2018, 23:41 |
|
||
|
Первичный вторичный ключи
|
|||
|---|---|---|---|
|
#18+
alexeyvg, спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2018, 23:52 |
|
||
|
Первичный вторичный ключи
|
|||
|---|---|---|---|
|
#18+
alexeyvg, Я единственное не могу понять, как база данных определяет, что нужно считать именно количество сотрудников в компания, ведь никаких условий для этого нету, есть только вывести ТОП 1 компаний и функция COUNT, а что эта функция считает именно количество сотрудников, как понять*? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2018, 00:04 |
|
||
|
Первичный вторичный ключи
|
|||
|---|---|---|---|
|
#18+
dermama, Код: sql 1. Вы соединяете каждого сотрудника с его компанией, потом группируете по компании и агрегатная функция count считает по условию группировки - по количеству сотрудников в компании. Посмотрите на результат без подсчёта для наглядности: Код: sql 1. 2. 3. 4. Почитайте про агрегатные функции, без них никуда в sql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2018, 00:23 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=46&tid=1688802]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
52ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
34ms |
get tp. blocked users: |
2ms |
| others: | 249ms |
| total: | 372ms |

| 0 / 0 |
