How do I join two tables with different column in SQL Server CE?

北城余情 提交于 2019-12-06 11:22:57

LEFT OUTER JOIN in SQL Server CE

You need to use LEFT OUTER JOIN to join the tables Schedule and Description on the key field ID. Also, use COALESCE to replace NULL values in Description column with -

Script:

SELECT          S.ID
            ,   S.Name
            ,   COALESCE (D.Description, '-') AS Description
FROM            Schedule AS S 
LEFT OUTER JOIN Description AS D 
ON              S.ID = D.ID

Output:

Tested in Microsoft SQL Server CE version 4.0.8482.1

With WHERE clause

You need add the WHERE clause after the JOINs. If you are planning to having an ORDER BY, it should come after the WHERE clause.

Script:

SELECT          S.ID
            ,   S.Name
            ,   COALESCE (D.Description, '-') AS Description
FROM            Schedule    AS S 
LEFT OUTER JOIN Description AS D 
ON              S.ID = D.ID
WHERE           (S.Type = 1)

Output:

Tested in Microsoft SQL Server CE version 4.0.8482.1

You need LEFT OUTER JOIN.

SQLFiddle: http://sqlfiddle.com/#!3/7dccf/1

Query:

select s.ID, s.Name, Coalesce(d.description,'-') as description
from schedule s 
left outer join description d on d.id = s.id
SELECT S.ID, D.Description 
FROM Schedule AS S FULL OUTER JOIN Description AS D
ON S.ID = D.ID

INNER JOIN means select only rows that exist in both tables.
FULL OUTER JOIN means select rows as long as they exist in one table.

You need FULL OUTER JOIN...

You need to use an OUTER JOIN instead of INNER, and use IsNull or Coalesce to replace NULL values:

SELECT S.ID, Coalesce(D.Description , '-') AS Description
FROM Schedule AS S FULL OUTER JOIN Description AS D
ON S.ID = D.ID
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!