使用 Left join sql 查询
Using Left join sql query
我正在尝试从 Table A 中检索 DBName、DBNo、DBMount、DBCountedAmount 并从 Table B 中包含 NewFormNo,所以我这样做了
Table一个
|DBName |DBNo | DBAmount | DBCountedAmount |
|-------|--------|----------|---------------------|
|Derek |503456 | 2000 | 2000 |
|John |554422 | 40000 | 4000 |
Table B
|DBName |DBNo | DBAmount | DBCountedAmount | FormNo|
|-------|--------|----------|---------------------|-------|
|Derek |503456 | 2000 | 2000 |00001 |
|John |554422 | 40000 | 4000 |00002 |
所以我这样做了,但是 return 不是我想要的行
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
我正在尝试从 Table A 中检索 DBName、DBNo、DBMount、DBCountedAmount 并从 Table B 中包含 NewFormNo,所以我这样做了
Table一个
|DBName |DBNo | DBAmount | DBCountedAmount |
|-------|--------|----------|---------------------|
|Derek |503456 | 2000 | 2000 |
|John |554422 | 40000 | 4000 |
Table B
|DBName |DBNo | DBAmount | DBCountedAmount | FormNo|
|-------|--------|----------|---------------------|-------|
|Derek |503456 | 2000 | 2000 |00001 |
|John |554422 | 40000 | 4000 |00002 |
所以我这样做了,但是 return 不是我想要的行
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