Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Сложный запрос
|
|||
|---|---|---|---|
|
#18+
Помогите пожалуйста с запросом! База находится на SQL 7.0 Имеются две таблицы plat и pl2 (у обоих имеется числовое поле 'cod'), мне необходимо найти в таблице 'plat' значение '1' в поле 'met' зпомнить значение с поля cod и отыскать это значение (их может быть несколько) в таблице pl2 по полю cod и впихнуть результат в курсор. Вся проблема в сязи двух таблиц по коду plat.cod <-> pl2.cod Наглядно это выглядит так! Таблица Plat ---------------------------- cod | met | a1 | a2 __1_______1 __2_______1 __3_______1 __4_______1 ----------------------------- Таблица Pl2 ---------------------------- cod | b1 | b2 ---------------------------- __1___ __1___ __1___ __2___ ---------------------------- Результат должен быть в сурсоре (должны объединится таблицы) Курсор plat.cod | plat.met | plat.a1 | plat.a2 | pl2.b1 | pl2.b2 ------------------------------------------------------------ __1___ __1___ __1___ ------------------------------------------------------------ Вот так! Помогите пожалуста очень нужно проблема как это записать на языке SQL SQLEXEC(pConect, "SELECT*FROM plat WHERE met=1" ,'MySFaktur') Впринципе у меня это получилось с помощь Queries зделать, но мне нада программным путем. Заранее спасиба ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2004, 17:11 |
|
||
|
Сложный запрос
|
|||
|---|---|---|---|
|
#18+
Ansi SQL Код: plaintext В Queries тоже должен сидеть запрос... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2004, 12:58 |
|
||
|
Сложный запрос
|
|||
|---|---|---|---|
|
#18+
Спасиба большое, ПОЛУЧИЛОСЬ ты настоящий друг ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2004, 14:26 |
|
||
|
Сложный запрос
|
|||
|---|---|---|---|
|
#18+
Хорошо связь установлена а как мне добавить туды фильтр (отобрать по полю met) SELECT plat.cod , plat.met , plat.a1 , plat.a2 , pl2.b1 , pl2.b2 FROM plat,Pl2 WHERE plat.cod=Pl2.cod and plat.met=1 что то не прет? как записать правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2004, 12:32 |
|
||
|
Сложный запрос
|
|||
|---|---|---|---|
|
#18+
Все правильно, может нужно добавить Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2004, 13:04 |
|
||
|
Сложный запрос
|
|||
|---|---|---|---|
|
#18+
Ну поробовал так он ваще в курсор не пихает результат Как сделать даже и незнаю SQLEXEC(pConect, "SELECT*FROM pl2,plat WHERE pl2.koddok=plat.koddok and !ISNULL(plat.met)",'trebtab2') У тебя есть еще варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2004, 13:23 |
|
||
|
Сложный запрос
|
|||
|---|---|---|---|
|
#18+
Если это не опечатка, то символ звездочки должен обрамлятся пробелами. Код: plaintext 1. 2. Функция IsNull() в SQL - это совсем не то, что одноименная функция в FoxPro. Это аналог фоксовской функции NVL(). Поэтому подобным образом ее использовать нельзя. В синтаксисе SQL проверка на NULL записывается так: plat.met IS NOT NULL или IsNull(plat.met,0) = 1 И еще, желательно объединение таблиц писать через JOIN. Это и нагляднее и более правильно синтаксически, т.е. в данном случае это будет так: Код: plaintext Хотя это одно и то же, что и первый вариант. Если результата все-таки нет, то проверь причину ошибки по AERROR() примерно так: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2004, 15:34 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=394&tid=1597147]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 265ms |
| total: | 380ms |

| 0 / 0 |
