2015-01-19 3 views
0

Я пытаюсь получить DBName, DBNo, DBAmount, DBCountedAmount из таблицы А и включают в себя NewFormNo из таблицы B, так что я сделал этоИспользование LEFT JOIN SQL запрос

Таблица 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 | 

ответ

0

Изменить этот

AND A.DBNo= '503456' 

к этому

WHERE A.DBNo= '503456' 

Кроме того, что тип DBNo? Если это числовое, вы можете удалить «»

+0

Я попытался это, но оно не вернуть мне любую строку .. –

+0

@DerekToh каковы точные имена таблиц? Кроме того, каковы типы данных столбцов? Кроме того, я должен спросить, так как таблица B точно такая же, как в таблице A, за исключением столбца FormNo, почему бы просто не выбрать из таблицы B? –

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' 
+0

Я пробовал это, но он не возвращал мне ни одной строки –

+0

. Получаете ли вы какие-либо результаты, если вы удалили инструкцию WHERE? –

+0

Мне удалось выяснить, в чем проблема, теперь я могу получить строку, но найденная строка показывает мой NewFormNo как NULL –

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