Нужна помощь в запросе доступа - PullRequest
2 голосов
/ 15 февраля 2012

У меня есть сомнения в запросе доступа ...

Просьба сообщить, возможно ли

Я связал файл Excel с доступом, у него есть некоторое количество столбцов. Мой вопрос

для E.g

Чтобы получить описание и столбец региона с ноутбука, таблица рабочего стола

я использую запрос ниже

SELECT Laptop.[Description], Laptop.[Region] From Laptop 
union SELECT Desktop.[Description], Desktop.[Region] From Desktop

иногда. Может не содержать поля «Регион», в то время я использую «» в качестве ноутбука. [Регион] или «» в качестве рабочего стола. [Регион]

Мой квест

Есть ли такая опция

SELECT Laptop.[Description], If Laptop.[Region]=avairable 
     then Laptop.[Region] else “” as [Region] from Laptop; 

или любой способ пропустить ошибку ...

Пожалуйста, помогите мне в этом ... THx заранее

Сомнение:

Чтобы быть ясным

Если в таблице на рабочем столе есть описание и столбец региона.

Description Region
Saran       east
Sathish     north 
sathy       west

И

Ноутбук имеет настольный стол с описанием и стоимостью…

Description  Cost
asdf         23
dkasfjasd    34
flkasdf      55
Select Laptop.[Description], NZ(Laptop.[Region], "NA") as [Region] 
from Laptop 
UNION 
SELECT Desktop.[Description], NZ(Desktop.[Region], "NA") as [Region] 
FROM Desktop;

Вернет ли он этот результат?

Я не могу запустить это, потому что у меня была проблема с доступом

Description  Region
asdf              
dkasfjasd   
flkasdf 
Saran        east
Sathish      north 
sathy        west

Ответы [ 2 ]

3 голосов
/ 15 февраля 2012

Я предполагаю, что вы указали в своем псевдокоде, что '= avairable' означает, что значение существует. Вы просто хотите обработать нулевое значение.

Select Laptop.Description, NZ(Laptop.Region, "") as [Region] from Laptop;

Функция NZ () будет обрабатывать нулевые значения и заменять все, что вы захотите.

1 голос
/ 16 февраля 2012

вы можете использовать регистр переключения для этого запроса, но в mS-acess он не поддерживается, но другой выход из этого в доступе - это использование iif (). Здесь я приведу общий пример, который вы можете легко преобразовать в свой актуальный запрос.

IIf(expr, truepart, falsepart)

 SELECT  IIF(IsNull(Laptop.[Region])," ",Laptop.[Region]) as region
FROM Laptop ;
...