|
Еще 1 выборка из 3х таблиц
|
|||
---|---|---|---|
#18+
Добрый день. Имеются 3 таблицы в MS SQL 2008. 1. KLIENT - справочник клиентов 2. SPROMOTER - учредители клиентов 3. DBMASLC - массив счетов Нужен список действующих клиентов с учредителями с исключением балансового счета 20004. Код: sql 1. 2. 3. 4.
где, kl_kod - кол клиента kl_nam - наименование клиента kl_kodstr - страна клиента kl_stat - статус клиента ml_kodv - код валюты ml_lc - номер счета ml_bs - номер балансового счета ml_dateo - дата открытия счета ml_datez - дата закрытия счета Код: sql 1. 2. 3. 4. 5.
где, p_kl_kod - код клиента из справочника KLIENT p_name - наименование учредителя p_citizen - гражданство учредителя p_status - статус учредителя (Д - действующий) Не могу связать запрос из 3х таблиц. Есть у кого-нибудь идеи? Необходимо вытащить список действующих клиентов с учредителями с исключением балансового счета 20004. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 08:20 |
|
Еще 1 выборка из 3х таблиц
|
|||
---|---|---|---|
#18+
Да вроде всё просто должно быть в одном запросе. Только непонятно как DBMASLC связан с первыми двумя таблицами? LEFT JOIN тебе зачем? Не по всем клиентам занесены учредители? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 08:25 |
|
Еще 1 выборка из 3х таблиц
|
|||
---|---|---|---|
#18+
cорри, увидел. Попробуй проще: Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 08:30 |
|
Еще 1 выборка из 3х таблиц
|
|||
---|---|---|---|
#18+
982183Не по всем клиентам занесены учредители? Да, не по всем клиентам занесены... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 08:42 |
|
Еще 1 выборка из 3х таблиц
|
|||
---|---|---|---|
#18+
И по клиентам без учредителей надо вывести пустые значения? тогда действительно LEFT JOIN ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 09:01 |
|
Еще 1 выборка из 3х таблиц
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5.
Почему-то ругается на s.[p_kl_KOD] ? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 09:24 |
|
Еще 1 выборка из 3х таблиц
|
|||
---|---|---|---|
#18+
Зачем ты делаешь промежуточную таблицу? Не для всех клиентов есть счета? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 11:13 |
|
Еще 1 выборка из 3х таблиц
|
|||
---|---|---|---|
#18+
982183Зачем ты делаешь промежуточную таблицу? Не для всех клиентов есть счета?1. KLIENT - справочник клиентов 2. SPROMOTER - учредители клиентов 3. DBMASLC - массив счетов У всех есть счета. Но не по всем клиентам занесены учредители. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 11:18 |
|
Еще 1 выборка из 3х таблиц
|
|||
---|---|---|---|
#18+
Ну так соедини KLIENT и SPROMOTER через LEFT JOIN, а DBMASLC через where ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 11:21 |
|
Еще 1 выборка из 3х таблиц
|
|||
---|---|---|---|
#18+
982183Ну так соедини KLIENT и SPROMOTER через LEFT JOIN, а DBMASLC через whereА можно примерчики? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 11:46 |
|
Еще 1 выборка из 3х таблиц
|
|||
---|---|---|---|
#18+
А почему в группе "FoxPro, Visual FoxPro" Ты же пишешь "MS SQL 2008." До T-SQL доберусь только послезавтра. На ACCESS сойдет? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 11:56 |
|
Еще 1 выборка из 3х таблиц
|
|||
---|---|---|---|
#18+
982183А почему в группе "FoxPro, Visual FoxPro" Ты же пишешь "MS SQL 2008." До T-SQL доберусь только послезавтра. На ACCESS сойдет?Потому что приложение на Visual FoxPro, а база данных (БД) на MS SQL 2008. А БД состоит из многочисленных таблиц. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 12:00 |
|
Еще 1 выборка из 3х таблиц
|
|||
---|---|---|---|
#18+
На ACCESS всё просто и твоим методом. Может в фоксе что-то не так Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 12:09 |
|
Еще 1 выборка из 3х таблиц
|
|||
---|---|---|---|
#18+
или так: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 12:12 |
|
Еще 1 выборка из 3х таблиц
|
|||
---|---|---|---|
#18+
А мой способ на ACCESS не работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 12:17 |
|
Еще 1 выборка из 3х таблиц
|
|||
---|---|---|---|
#18+
ularsoftПотому что приложение на Visual FoxPro, а база данных (БД) на MS SQL 2008. А БД состоит из многочисленных таблиц. Не имеет никакого значения. Запрос работает на сервере. Фох всего лишь клиент. Путаница вопросов ответов... окончательно запутала))) Но если отталкиваться от 1го сообщения Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Левое, правое соединения, нельзя использовать в where. Оно превращает соединение в inner Учите SQL))) Писано прямо здесь, на колене. Внимательно проверьте на ошибки, названия полей. Смысл думаю ясен. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 16:06 |
|
Еще 1 выборка из 3х таблиц
|
|||
---|---|---|---|
#18+
asdorЛевое, правое соединения, нельзя использовать в where. Оно превращает соединение в inner Учите SQL))) . Да. Скорее всего так оно и есть. "превращает" вряд ли, просто несовместимо по логике. В справочниках ничего не нашел. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2017, 02:55 |
|
Еще 1 выборка из 3х таблиц
|
|||
---|---|---|---|
#18+
asdor Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Уважаемый Asdor, данный запрос вытаскивает все юридические лица с учредителями, а также закрытые счета клиентов юридических лиц. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2017, 08:21 |
|
Еще 1 выборка из 3х таблиц
|
|||
---|---|---|---|
#18+
asdor Код: sql 1.
Почему-то не сработало условие d.ml_datez is NULL ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2017, 10:27 |
|
Еще 1 выборка из 3х таблиц
|
|||
---|---|---|---|
#18+
ularsoftУважаемый Asdor, данный запрос вытаскивает все юридические лица с учредителями, а также закрытые счета клиентов юридических лиц. Вот честно, вы ж на техническом форуме))) Думаете кто видит, и понимает про "юридические лица с учредителями, а также закрытые счета" Говорите о таблицах, полях и пр. ularsoftПочему-то не сработало условие d.ml_datez is NULL Это ответ на предыдущее сообщение? Так приведите весь запрос. разве можно что то сказать по приведенному отрывку ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2017, 12:36 |
|
Еще 1 выборка из 3х таблиц
|
|||
---|---|---|---|
#18+
ularsoft, Можно посоветовать для разбора собственных полетов следующее. Напишите 3 запроса, с выбором нужных полей из каждой таблицы, и там же обязательно, поля оп которым идут связи. Отфильтруйте все нужное (не нужное)) ) дальше просто соедините. Ну можно и здесь спросить как соеденить. Вам же яснее будет, что и почему. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2017, 13:09 |
|
|
start [/forum/topic.php?fid=41&msg=39556711&tid=1581871]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
76ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 307ms |
total: | 472ms |
0 / 0 |