|
Помогите в запросе с INLIST
|
|||
---|---|---|---|
#18+
Доброго дня! Имеются таблицы следующего вида: авторТаблица 1: BS BS1 BS2 SUM 123 1234 55 314 3456 66 555 6456 66 211 9876 34 266 2789 33 982 8789 88 721 5674 31 330 4563 73 авторТаблица 1: RBS ID ARTICLE 1 1234 1 3456 1 6456 1 9876 2 2789 2 8789 2 5674 3 4563 Выполняю запрос select BS.BS1, BS.BS2, BS.SUM from BS where INLIST(rbs.id, '1') т.е. я должен выбрать из первой таблицы только те записи, которые совпадают поле BS2 во 2 таблице с полем Article. Есть у кого идеи? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2015, 13:47 |
|
Помогите в запросе с INLIST
|
|||
---|---|---|---|
#18+
Код: sql 1.
так не получается? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2015, 15:23 |
|
Помогите в запросе с INLIST
|
|||
---|---|---|---|
#18+
Или Вам можно с вложенным подзапросом для фильтрации в RBS? Код: sql 1.
т.е. выполняется вложенный подзапрос, а дальше из таблицы BS выбираются только те значения BS2 которые равны выбранным RBS.ARTICLE из подзапроса. Фильтрация значений RBS.ARTICLE происходит Код: sql 1.
в данном запросе. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2015, 15:33 |
|
Помогите в запросе с INLIST
|
|||
---|---|---|---|
#18+
Ну или 3-й вариант: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2015, 15:37 |
|
Помогите в запросе с INLIST
|
|||
---|---|---|---|
#18+
T1gRa_NTНу или 3-й вариант: Код: sql 1.
Такой запрос берет только первую строку (ID=1 ARTICLE=1234), следующих не берет: ID ARTICLE 1 3456 1 6456 1 9876 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2015, 09:35 |
|
Помогите в запросе с INLIST
|
|||
---|---|---|---|
#18+
Точно. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2015, 10:09 |
|
Помогите в запросе с INLIST
|
|||
---|---|---|---|
#18+
T1gRa_NTИли Вам можно с вложенным подзапросом для фильтрации в RBS? Код: sql 1.
т.е. выполняется вложенный подзапрос, а дальше из таблицы BS выбираются только те значения BS2 которые равны выбранным RBS.ARTICLE из подзапроса. Фильтрация значений RBS.ARTICLE происходит Код: sql 1.
в данном запросе. Если сделать таким образом моя программа молчит. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2015, 10:24 |
|
Помогите в запросе с INLIST
|
|||
---|---|---|---|
#18+
При выполнении Код: sql 1.
из таблицы 2 берутся нужные значения? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2015, 10:29 |
|
Помогите в запросе с INLIST
|
|||
---|---|---|---|
#18+
T1gRa_NTПри выполнении Код: sql 1.
из таблицы 2 берутся нужные значения? в ms sql да берутся все ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2015, 11:01 |
|
Помогите в запросе с INLIST
|
|||
---|---|---|---|
#18+
Создал 2 курсора по вашим данным: Код: sql 1. 2.
ularsoftавторТаблица 1: BS BS1 BS2 SUM 123 1234 55 314 3456 66 555 6456 66 211 9876 34 266 2789 33 982 8789 88 721 5674 31 330 4563 73 авторТаблица 1: RBS ID ARTICLE 1 1234 1 3456 1 6456 1 9876 2 2789 2 8789 2 5674 3 4563 после выполнения запроса: Код: sql 1.
получил следующие данные: bs1bs2sum123123455314345666555645666211987634 т.е. из таблицы BS выбрались данные у которых BS2=ARTICLE И RBS.ID=1 если необходимы все данные без фильтрации по id то: Код: sql 1.
Наглядный вариант через INNER JOIN: Код: sql 1. 2.
Он найдет и объединит поля только в тех записях где bs.bs2=rbs.article аналогичен указному выше. Больше и наглядно про JOINы тут: http://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2015, 11:05 |
|
Помогите в запросе с INLIST
|
|||
---|---|---|---|
#18+
ularsoftв ms sql да берутся все Вот тут стоп! Вы хотите выбрать значения из ms sql средствами FoxPro и выгрузить в курсор? Я это делаю функцией SQLEXEC, НО: сам синтаксис запроса должен быть MS SQL и никак не фокса! Пробуйте запросы с JOIN на сервере, как только все хорошо просто копируйте в FoxPro. При превышении длины бейте на части и через макроподстановки. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2015, 11:13 |
|
Помогите в запросе с INLIST
|
|||
---|---|---|---|
#18+
T1gRa_NTularsoftв ms sql да берутся все Вот тут стоп! Вы хотите выбрать значения из ms sql средствами FoxPro и выгрузить в курсор? Я это делаю функцией SQLEXEC, НО: сам синтаксис запроса должен быть MS SQL и никак не фокса! Пробуйте запросы с JOIN на сервере, как только все хорошо просто копируйте в FoxPro. При превышении длины бейте на части и через макроподстановки. Спасибо тебе T1gRa_NT. Все тип-топ. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2015, 11:38 |
|
|
start [/forum/topic.php?fid=41&msg=39019395&tid=1582301]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
others: | 348ms |
total: | 463ms |
0 / 0 |