|
|
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Помогите, пжлст. Необходимо в VFP 5.0 создать запрос, в котором для выбраных записей происходит сравнение значения некоторой ячейки с значением ячейки в другой таблицы (таблицы связаны между собой). Примерно:выбрать записи из таблицы 1, где поле предприятие =х и где значение уровня превышает значение КР1 в таблице 2 (в таблице 2 предприятие=х) Есть 179 предприятий, необходима проверка всех одним запросом (или последовательностью запросов). В рнр я бы загнал это в цикл, а с VFP еще серьезно не сталкивался. Подскажите оператор или функцию. Отозвавшимся огромная благодарность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2008, 13:18 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Хм, операторами сравнения являются, как и во многих других языках, "=", "<",">" и их комбинации. Скелет запроса примерно такой: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2008, 13:39 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Sergey Sizov.Хм, операторами сравнения являются, как и во многих других языках, "=", "<",">" и их комбинации. Скелет запроса примерно такой: Код: plaintext 1. 2. 3. здесь х-имеется ввиду переменная (их 179), а нужно перебрать все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2008, 14:02 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Для одного предприятия вопросов нет. Для всего списка предприятий? Спсб ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2008, 14:05 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
А это надо было отгадать? Это нельзя было сразу написать? А сомому чуть-чуть подумать и убрать условие предприятие=x трудно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2008, 14:37 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Sergey Sizov.А это надо было отгадать? Это нельзя было сразу написать? А сомому чуть-чуть подумать и убрать условие предприятие=x трудно? Я же вроде писал...? Есть 179 предприятий, необходима проверка всех одним запросом (или последовательностью запросов). Извините, что изложил в непонятном для вас формате. А насчет удаления условия предприятие=х, так я пробовал в разных вариантах сравнивать значение уровня из таблицы 1 с полем КР1 в таблице 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2008, 15:49 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
И как это пробовалось? А на каких данных? И какой был результат? А какой должен быть? Это тоже мы сами должны отгадывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2008, 16:43 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Sergey SizovИ как это пробовалось? А на каких данных? И какой был результат? А какой должен быть? Это тоже мы сами должны отгадывать? Чтобы не быть голословным, предлагаю посмотреть скрипт. SELECT ALLTRIM(Person.f)+" "+LEFT(Person.i,1)+"."+LEFT(Person.o,1)+"." AS fio,; ALLTRIM(Person.pasport_s)+" "+ALLTRIM(Person.pasport_n) AS pasport,; Person.sex, Person.birth_year, SUM(Dose.dose) AS dose,; MIN(Dose.date_start) AS date_start,; MAX(Dose.date_finish) AS date_finish, Worker_attribute.subgroup,; Workplace.name, Dose.plant_id, Worker_attribute.subdiv_id,; Workplace.subdivision, Workplace.kr_1, Workplace.kr_2,; Dose.datetime_insert; FROM arsidc!worker_attribute INNER JOIN arsidc!person; INNER JOIN arsidc!dose; INNER JOIN arsidc!workplace ; ON Dose.plant_id = Workplace.wrkpl_id ; ON Person.person_id = Dose.person_id ; ON Worker_attribute.person_id = Person.person_id; WHERE Dose.category_id = 3; AND Dose.date_start >= {01/01/2008}; AND Dose.dose >= Workplace.kr_1; GROUP BY Dose.person_id; ORDER BY Worker_attribute.subgroup, 1 Выдается ошибка operator/operand type mismatch без строки AND Dose.dose >= Workplace.kr_1; работает, выдает все значения. ожидаемый результат-список позиций, где Dose.dose >= Workplace.kr_1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2008, 18:50 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Ну так черным же по-анлийски написано: operator/operand type mismatch Если трудности с анлийским, то данная фраза переводится как несоответствие типов данных. Раз это ругается на Dose.dose >= Workplace.kr_1 то потрудитесь сравнить типы данных в срвниваемых полях и привести их к какому-то одному типу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2008, 19:44 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
Трудностей с английским нет. Причиной всему избирательность моего внимания-выхватил слово оператор-и мучаюсь. Впредь буду внимателльнее. Выставил аналогичный тип в поле КР_1-все получилось. Благодарю за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2008, 09:03 |
|
||
|
Помогите с запросом
|
|||
|---|---|---|---|
|
#18+
"GBD" <nospam@sql.ru> сообщил/сообщила в новостях следующее: news:5223713@sql.ru... > Автор: GBD > Sergey Sizov > И как это пробовалось? А на каких данных? И какой был > результат? А какой должен быть? Это тоже мы сами должны отгадывать? > > > Чтобы не быть голословным, предлагаю посмотреть скрипт. > > SELECT ALLTRIM(Person.f)+" > "+LEFT(Person.i,1)+"."+LEFT(Person.o,1)+"." AS fio,; Все строки подобные :ALLTRIM(Person.f)+" "+LEFT(Person.i,1)+"."+LEFT(Person.o,1)+"." AS fio Заменить на Padr(ALLTRIM(Person.f)+" "+LEFT(Person.i,1)+"."+LEFT(Person.o,1)+"." , XXX ) AS fio где XXX - длинна строи на выходе. Можно задать константой, можно просчитать как len(Person.f)+len(Person.i)+len(Person.o)+3 . № - это твои пробелы/точки. В противном случае длинна строки будет равна длинне первой выбранной строки. Она может быть короче последующих!!! > Выдается ошибка operator/operand type mismatch > без строки AND Dose.dose >= Workplace.kr_1; работает, выдает все > значения. Ну так и приведи типы к одному. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2008, 09:06 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=35097350&tid=1588231]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
46ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 332ms |

| 0 / 0 |
