|
|
|
Запрос в запросе
|
|||
|---|---|---|---|
|
#18+
Есть 2 таблицы/ Если очень грубо, то предположим такого вида: 1. id_comp, name_comp, id_user 2. id_comp, id_user, close_plan В первой хранятся данные о предприятии и ответственного. Во второй планы. Подскажите, как сделать выборку данных из таблиц одним запросом, чтобы выдало все предприятия, где у ответственного за него пользователя нет открытых планов (во второй таблице close_plan = 0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 01:30:56 |
|
||
|
Запрос в запросе
|
|||
|---|---|---|---|
|
#18+
voffkamc, 1) not exists / not in 2) left join [anti] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 04:59:03 |
|
||
|
Запрос в запросе
|
|||
|---|---|---|---|
|
#18+
voffkamcЕсть 2 таблицы/ Если очень грубо, то предположим такого вида: 1. id_comp, name_comp, id_user 2. id_comp, id_user, close_plan В первой хранятся данные о предприятии и ответственного. Во второй планы. Подскажите, как сделать выборку данных из таблиц одним запросом, чтобы выдало все предприятия, где у ответственного за него пользователя нет открытых планов (во второй таблице close_plan = 0) Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 10:00:29 |
|
||
|
Запрос в запросе
|
|||
|---|---|---|---|
|
#18+
Lumix Код: sql 1. ну, так-то твой запрос выбирает с точностью до наоборот относительно того, чего хочет ТС ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 10:09:38 |
|
||
|
Запрос в запросе
|
|||
|---|---|---|---|
|
#18+
LumixvoffkamcЕсть 2 таблицы/ Если очень грубо, то предположим такого вида: 1. id_comp, name_comp, id_user 2. id_comp, id_user, close_plan В первой хранятся данные о предприятии и ответственного. Во второй планы. Подскажите, как сделать выборку данных из таблиц одним запросом, чтобы выдало все предприятия, где у ответственного за него пользователя нет открытых планов (во второй таблице close_plan = 0) Код: sql 1. не надо так делать это явно учебная задача и проверяеться не только знание скл языка, но и умение строить логику запросов если предприятие есть, и у ответсвенного никогда небыло плана(нету записей во второй вообще) это предприятие подпадает под условие(нету октрытых НО НЕ РАВНО все планы закрыты) но не подпадает под решение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 10:09:57 |
|
||
|
Запрос в запросе
|
|||
|---|---|---|---|
|
#18+
LumixvoffkamcЕсть 2 таблицы/ Если очень грубо, то предположим такого вида: 1. id_comp, name_comp, id_user 2. id_comp, id_user, close_plan В первой хранятся данные о предприятии и ответственного. Во второй планы. Подскажите, как сделать выборку данных из таблиц одним запросом, чтобы выдало все предприятия, где у ответственного за него пользователя нет открытых планов (во второй таблице close_plan = 0) Код: sql 1. да забыл. есть запись с клоус_план = 0, не означает что нету записей с другим значением и эх возможно прав, если логично называть поля, то скорей всего клоус_план = 0 это открытый план, а не закрытый...хотя тут автор явно не однозначен... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 10:12:03 |
|
||
|
Запрос в запросе
|
|||
|---|---|---|---|
|
#18+
На некоторое время вопрос был не актуален, но сегодня снова к нему вернулся. В общем у меня получился такой запрос: Код: sql 1. 2. 3. 4. Выполняется запрос около 5 секунд. Подскажите как его оптимизировать? Возможно намудрил с ключами. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2014, 16:26:13 |
|
||
|
Запрос в запросе
|
|||
|---|---|---|---|
|
#18+
voffkamc, 1. выдайте ресультат такого запроса: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 2. COMP.USR_ID у вас НОТ НУЛЛ. По бизнес логике -- может ли там находится УСР_ИД которого нет в таблице ЮЗЕР ? Если связка ЦОМП-ЮЗЕР обязательная, тогда не нужен ЛЕФТ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2014, 16:45:44 |
|
||
|
Запрос в запросе
|
|||
|---|---|---|---|
|
#18+
javajdbc, id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY comp ALL null null null null 1354 Using where 1 PRIMARY u eq_ref PRIMARY PRIMARY 4 sales.comp.USR_ID 1 Using where 2 DEPENDENT SUBQUERY p index null PRIMARY 14 null 39838 Using where; Using index С остальным щас разберусь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2014, 17:20:05 |
|
||
|
Запрос в запросе
|
|||
|---|---|---|---|
|
#18+
COMP.USR_ID у вас НОТ НУЛЛ. По бизнес логике -- может ли там находится УСР_ИД которого нет в таблице ЮЗЕР ? нет, не может. Если связка ЦОМП-ЮЗЕР обязательная, тогда не нужен ЛЕФТ. согласен, исправил. только что выполнил этот запрос... Код: sql 1. Может как-то разбить на несколько запросов? вот только не могу придумать как это сделать. Помогите пожалуйста! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2014, 00:18:00 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38809895&tid=1833921]: |
0ms |
get settings: |
10ms |
get forum list: |
30ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
132ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 257ms |
| total: | 484ms |

| 0 / 0 |
