Запрос на 3 таблицы - PullRequest
       3

Запрос на 3 таблицы

1 голос
/ 09 декабря 2010

В этом режиме у меня три таблицы:

Время1 с колонкой «Данные» в формате gg / mm / aaaa

Вручную со столбцами "valMan" и "dataora" в одном формате.

Автоматически со столбцами "valAuto" и "dataora" в одном формате.

Я должен найти значения "valAuto" из таблицы "Автоматически", где Data.Time1 = dataora.Automatic, и если значение равно нулю, я беру это значение из valMan.Manual в том же Data.Time1 = dataora.Manual

В доступе sql или vb для доступа.

Это очень важно для меня ... Большое спасибо !!!

Ответы [ 2 ]

1 голос
/ 09 декабря 2010

Для MS Access вы можете попробовать Iif и IsNull

SELECT  Time1.Data, 
        IIf(IsNull([valAuto]),[valMan],[valAuto]) AS Expr1
FROM    (Time1 LEFT JOIN Automatic ON Time1.Data = Automatic.dataora) LEFT JOIN 
        Manual ON Time1.Data = Manual.dataora;

или

Nz

SELECT  Time1.Data, 
        Nz([valAuto],[valMan]) AS Expr1
FROM    (Time1 LEFT JOIN Automatic ON Time1.Data = Automatic.dataora) LEFT JOIN 
        Manual ON Time1.Data = Manual.dataora;
0 голосов
/ 09 декабря 2010

Не знаю о доступе, но это нужно делать в MS SQL Server

SELECT
ISNULL(a.valAuto, m.valMan) AS whatIWant
FROM
Automatic a
INNER JOIN Time1 t ON a.dataora = t.Data
INNER JOIN Manual m ON t.Data = m.dataora

Команда ISNULL заменяет valAuto на valMan, если valAuto имеет значение null.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...