Я пытался извлечь значение из двух таблиц путем объединения, но несколько значений во вторых столбцах отсутствуют.
например
valuetable
----------------------
| id |orderid| prodid|
----------------------
| 1 | NULL | 4|
----------------------
| 1 | A | 4|
----------------------
| 2 | NULL | 4|
----------------------
| 2 | NULL | 3|
----------------------
| 3 | B | 4|
----------------------
| 3 | B | 3|
----------------------
| 3 | B | 5|
----------------------
Nametable
--------------
| id | Name|
--------------
| 1 | Apple|
--------------
| 2 | Ball|
--------------
| 3 | Cat|
--------------
| 4 | Dog|
--------------
У меня есть две таблицы выше.Я должен получить значения в следующем формате.
Результат запроса
----------------------
| id | Name|orderid|
----------------------
| 1 | Apple| NULL |
----------------------
| 2 | Ball| NULL |
----------------------
| 3 | Cat| B |
----------------------
| 4 | Dog| NULL |
----------------------
Я использовал следующий запрос
SELECT nt.id, nt.[Name]
, MIN(vt.orderid) AS orderid
FROM Nametable nt LEFT OUTER JOIN valuetable vt
ON nt.id = vt.id
WHERE
vt.prodid = 3
GROUP BY
nt.id, nt.[Name]
, но пропустил строку | 1 | Apple| NULL |
.Как я могу получить это?используя MSSQL Server 2005
UPDATE
таблица значений не имеет значения идентификатора 1 для prodid = 3, но мне нужен результат вышеупомянутым способом.означает, что если он не может получить идентификатор из таблицы значений для соответствующего продукта, он все равно должен получить идентификатор и его имя со значением NULL в качестве orderid.