Не могу понять, как работают подцепки
Добавлено: 08 апр 2008, 04:31
Я до сих пор не могу понять, как работают подцепки.
Мне нужно для определенного katmc получить определенный внеш.атрибут attrval.
Вот так работает:
Create view Viewname
as select * from katmc, AttrNam, AttrVal;
...
if getfirst katmc where (( нрек == katmc.nrec )) = tsok then
if getfirst attrval where (( 1411 == attrval.wtable and katmc.nrec == attrval.crec and атрнрек == attrval.cattrnam )) = tsok then ...
А вот так не работает:
Create view Viewname
as select * from katmc, AttrNam, AttrVal
where (( 1411 == attrval.wtable and katmc.nrec == attrval.crec ));
if getfirst katmc where (( нрек == katmc.nrec )) = tsok then
if getfirst attrval where (( атрнрек == attrval.cattrnam )) = tsok then ...
Во втором случае, я всегда получаю внеш.атрибут для какой-то одной katmc, вне зависимости от того, что я бегаю по katmc getfirst'ом. Почему?
Мне нужно для определенного katmc получить определенный внеш.атрибут attrval.
Вот так работает:
Create view Viewname
as select * from katmc, AttrNam, AttrVal;
...
if getfirst katmc where (( нрек == katmc.nrec )) = tsok then
if getfirst attrval where (( 1411 == attrval.wtable and katmc.nrec == attrval.crec and атрнрек == attrval.cattrnam )) = tsok then ...
А вот так не работает:
Create view Viewname
as select * from katmc, AttrNam, AttrVal
where (( 1411 == attrval.wtable and katmc.nrec == attrval.crec ));
if getfirst katmc where (( нрек == katmc.nrec )) = tsok then
if getfirst attrval where (( атрнрек == attrval.cattrnam )) = tsok then ...
Во втором случае, я всегда получаю внеш.атрибут для какой-то одной katmc, вне зависимости от того, что я бегаю по katmc getfirst'ом. Почему?