Sql - возвращает значение для КАЖДОГО предмета, который ищется в команде выбора, даже если он повторен или не существует - PullRequest
0 голосов
/ 25 октября 2011

Как видно из заголовка, я хочу выполнить оператор выбора, чтобы получить 1 значение для каждого элемента, с помощью которого выполняется поиск. Я приведу простой пример для этого.

Допустим, моя таблица следующая:

table1

Mdl       Code
Model     Model Code
M1070     32HT
M1060     32A4

где table1 - таблица, Mdl и Code - столбцы, и есть две записи.

Теперь допустим, что у меня есть список, который делает его таким, чтобы мне нужно было преобразовывать коды моделей в модели. В этом списке могут быть коды моделей, найденные в таблице1, в нем могут быть записи, не найденные в таблице1, и могут быть записи, которые повторяются при поиске. У меня вопрос, как (в обобщенном смысле, поскольку мои данные более сложны), я могу запустить следующий пример поиска:

32HT
32HT
32HM
NULL (blank entry in searching)

В идеале я хотел бы, чтобы он возвращал следующее:

M1070
M1070
"" (a null or blank value as a place holder so the lists stay in line)
"" (a null or blank value again)

Важность этого заключается в том, что возвращаемые значения должны всегда возвращать что-то, иначе список, в который они сбрасываются, может сойти.

Спасибо заранее.

Чтобы прояснить некоторые вопросы, список будет сгенерированным списком (т.е. не из существующей таблицы). Я также использую JET SQL, чтобы ограничить некоторые доступные функции SQL.

Ответы [ 2 ]

1 голос
/ 25 октября 2011
SELECT l.Code, COALESCE(t.mdl, '') as mdl
    FROM List l
        LEFT JOIN table1 t
            ON l.Code = t.Code
0 голосов
/ 25 октября 2011

Список приходит из другой таблицы?Если это так, внешнее соединение между двумя таблицами должно сохранять нулевые значения.

SELECT * FROM listtable
LEFT OUTER JOIN table1
...