Dav*_*vid -2 c# sql if-statement join inner-join
我正在使用join从表中获取一些数据,
SELECT da.aName AS aName FROM dbo.bTable
INNER JOIN aTable da ON dbo.bTable.nameType = da.ID"
Run Code Online (Sandbox Code Playgroud)
这个选择有效.但是如果nameType是一个不在da.ID中的新数字,则根本不显示该行.我想要的是将这些连接到表,但如果aTable根本不包含这样的数字,那么必须采取一些默认值.
这是一个例子.aTable是名称表
id=1 aName = bmw
id=2 aName= mersedes
id=3 aName= audi
Run Code Online (Sandbox Code Playgroud)
bTable有汽车清单,我必须全部拿到
1 nameType =1
2 nameType =2
3 nameType =3
4 nameType =5
Run Code Online (Sandbox Code Playgroud)
所以我必须展示所有4辆车.使用我的代码我只会显示3,因为4号汽车的nameType是5.而且aTable中没有这样的ID.结果将是
1辆车是宝马
2辆车是mersedes
3辆车是奥迪
我想要做的是在这种情况下aTable给出一些NULL值或类似的结果必须是这样的
1辆车是宝马
2辆车是mersedes
3辆车是奥迪
4车是NULL
您应该使用LEFT JOIN而不是INNER JOIN
SELECT da.aName AS aName
FROM dbo.bTable
LEFT JOIN aTable da ON dbo.bTable.nameType = da.ID
Run Code Online (Sandbox Code Playgroud)