Тема: join
Показать сообщение отдельно
Старый 10.11.2004, 05:15   #16  
Alks is offline
Alks
Участник
 
336 / 41 (2) +++
Регистрация: 23.07.2004
Адрес: г. Новокузнецк
Блин, ты сразу 2 ошибки совершил в своём запросе. 8()
Во первых - exists join по своему определению НИЧЕГО не должен возвращать в подчинённой таблице! Это очевидно, ведь для каждой записи в главной таблице по идее в подчинённой может соотвествовать несколько записей, следовательно неизвестно какую именно надо возвращать, следовательно exists/notexists join ничего не должен возвращать тебе в подчинённых таблицах.
Во вторых - в условии-связке ты написал where inventSum.InventDimId == inventSum.InventDimId. Если приглядеться к сей конструкции становится очевидно почему она не работает.

Следующий код работает нормально:

PHP код:
static void jobxArgs args )
{
    
InventSum InventSum;
    
InventDim InventDim;
    
int i;
    ;
    
select inventSum join  inventDim
        where inventSum
.InventDimId == inventDim.InventDimId;
    for( 
120i++ )
    {
        print 
inventDim.wMSLocationId" "inventSum.InventDimId;
        
next inventSum;
        if ( !
inventSum )
            break;
    }
    
pause;

Теперь дай чёткое определение чего ты хочешь добиться группировками и... наверное поймешь что неправильно ставишь задачу.