Vb.net 使用左连接sql查询

Vb.net 使用左连接sql查询,vb.net,left-join,Vb.net,Left Join,我试图从表A中检索DBName、DBNo、DBAmount、DBCountedAmount,并从表B中包含NewFormNo,所以我这样做了 表A |DBName |DBNo | DBAmount | DBCountedAmount | |-------|--------|----------|---------------------| |Derek |503456 | 2000 | 2000 | |John |554422 | 4

我试图从表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  |
改变这个

AND A.DBNo= '503456'
对此

WHERE A.DBNo= '503456'
另外,
DBNo
的类型是什么?如果是数字,您可以删除“”

尝试以下操作:

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'

根据你的问题,不需要左外连接。您可以通过如下方式使用内部联接直接获取:

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

@DerekToh你们桌子的确切名称是什么?另外,列数据类型是什么?另外,我必须问,由于表B与表A完全相同,只是FormNo列除外,为什么不从表B中选择?如果删除WHERE语句,您会得到任何结果吗?我设法找出了问题所在,我现在可以检索行,但检索到的行将我的NewFormNo显示为NULL