|
Select from join select
|
|||
---|---|---|---|
#18+
ДОбрый день. Есть две таблицы В одной - заказы Во второй - даты произв. процессов по заказу. Делаю такой запрос, но IBExpert ругается "Column unknown. O.ID" Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
что не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 18:20 |
|
Select from join select
|
|||
---|---|---|---|
#18+
PATRI0T, вот это Код: sql 1.
кто написал внутрь Derived table? Это тебе не LATERAL ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 18:25 |
|
Select from join select
|
|||
---|---|---|---|
#18+
я писал. Увы, Sql только познаю.. Как правильно сделать? Можно ли вообще такое? Селект из таблицы объединенной с вирт.таблицей? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2019, 12:19 |
|
Select from join select
|
|||
---|---|---|---|
#18+
PATRI0T, нет, без LATERAL, который пока не реализован, такой фокус не пройдёт. Есть 2 варианта решения: 1. Написать ХП с параметром в которой будет твой подзапрос и делать соединения с ней 2. Делать обычный коррелированный подзапрос в select, но он умеет возвращать только скалярное значение, придётся делать ещё один join для вытаскивания оставшихся полей ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2019, 12:29 |
|
Select from join select
|
|||
---|---|---|---|
#18+
т.е. идея была такая Таблица ORDERS_DATE_PLAN содержит даты производственных операций по участку. авторORDER_ID DATE_DESCRIPTION DATE3 8500 Раскрой МДФ 29.08.2019 8500 Раскрой Шпона 29.08.2019 8500 Колеровка 29.08.2019 8500 Шлиф.Филенок 03.09.2019 8500 Изг. Заготовки Титова 02.09.2019 8500 Сборка 04.09.2019 8500 Станок 06.09.2019 8500 Склад 06.09.2019 8500 Шлифовка 11.09.2019 8500 Лакировка 17.09.2019 8500 Упаковка 18.09.2019 А в главной таблице orders есть поле PLAN_DATE_FRISTSTAGE - дата первого этапа, которая всегда должна быть равной первой дате из таблицы дат. Но почему-то так получилось, что они не равны и я хочу найти где ошибка. И для этого пытался составить такой запрос, как в начале поста. т.е. где PLAN_DATE_FRISTSTAGE <>первой DATE3 этого заказа (ORDER ID) из ORDERS_DATE_PLAN ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2019, 12:32 |
|
Select from join select
|
|||
---|---|---|---|
#18+
сочинил такой. такой работает.. Но хочется знать, правильно ли так делать? может есть лучший способ, быстрее итд. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2019, 12:36 |
|
Select from join select
|
|||
---|---|---|---|
#18+
PATRI0TНо почему-то так получилось, что они не равны и я хочу найти где ошибка. Что именно ты хочешь найти? Записи из orders у которых дата - не первая в списке? Ну так и пиши: Код: sql 1. 2.
Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2019, 12:46 |
|
Select from join select
|
|||
---|---|---|---|
#18+
спасибо, все получилось, разобрался. Вот так все исправлял. Скажите, так правильно? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2019, 13:12 |
|
Select from join select
|
|||
---|---|---|---|
#18+
PATRI0T, нет. Такой запрос будет тормозить до посинения ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2019, 13:17 |
|
Select from join select
|
|||
---|---|---|---|
#18+
PATRI0TВот так все исправлял. Скажите, так правильно? Бессмысленно. Если ты просто хотел исправить кривые даты первого этапа (а зачем они вообще хранятся отдельно?), то достаточно было Код: sql 1. 2.
Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2019, 13:38 |
|
|
start [/forum/topic.php?fid=40&fpage=20&tid=1560588]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 286ms |
total: | 418ms |
0 / 0 |