使用Left join sql查询

时间:2015-01-19 04:14:06

标签: vb.net left-join

我试图从表A中检索DBName,DBNo,DBAmount,DBCountedAmount并包含表B中的NewFormNo,所以我这样做了

表A

|DBName |DBNo    | DBAmount | DBCountedAmount     |
|-------|--------|----------|---------------------|
|Derek  |503456  | 2000     |     2000            |
|John   |554422  | 40000    |     4000            |

表B

|DBName |DBNo    | DBAmount | DBCountedAmount     | FormNo|
|-------|--------|----------|---------------------|-------|
|Derek  |503456  | 2000     |     2000            |00001  |
|John   |554422  | 40000    |     4000            |00002  |

所以我做了这个,但它没有返回我想要的行

SELECT A.DBName,A.DBNo,A.DBAmount,A.DBCountedAmount,B.FormNo FROM Table A LEFT JOIN Table B ON A.DBNo=B.DBNo AND A.DBNo= '503456'

我想要检索这个

|DBName |DBNo    | DBAmount | DBCountedAmount     | FormNo|
|-------|--------|----------|---------------------|-------|
|Derek  |503456  | 2000     |     2000            |00001  |

3 个答案:

答案 0 :(得分:0)

更改此

AND A.DBNo= '503456'

到这个

WHERE A.DBNo= '503456'

此外,DBNo的类型是什么?如果是数字,您可以删除''

答案 1 :(得分:0)

试试这个:

SELECT A.DBName, A.DBNo, A.DBAmount, A.DBCountedAmount 
FROM Table A 
LEFT JOIN Table B ON A.DBNo=B.DBNo
WHERE A.DBNo= '503456'

答案 2 :(得分:0)

根据您的问题,不需要左外连接。您可以直接使用内部联接,如下所示:

SELECT distinct a.DBname, a.DBno, a.Dbamount, a.Dbamountcount, b.FormNo 
FROM tableA a inner join tableB b 
on a.DBno = b.DBno 
and a.DBno = 503456