Vb.net 使用左连接sql查询
我试图从表A中检索DBName、DBNo、DBAmount、DBCountedAmount,并从表B中包含NewFormNo,所以我这样做了 表AVb.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
|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