Vikas Hire Ответов: 1

Как получить данные из 3-х различных таблиц данных?


У меня есть 3 таблицы в моей базе данных tblUserInfo, tblVisitor и третий tblInterest

стол tblUserInfo Содержит информацию о пользователе вместе с первичным ключом UserID.
стол tblVisitor содержит VisitorId и VistedProfileId
VisitorId и VisitedProfileId ничего, кроме идентификатора пользователя в tblUserInfo

Стол tblInterest Содержать InterestFrom_UserID и InterestIn_UserID и InterestStatus


Я хочу получить подробную информацию о пользователе от tblUserInfo,
Но эти пользователи находятся внутри tblVisitor
И получить InterestStatus от tblInterest

стол tblInterest может содержать или не содержать записи совпадений с VisitorID
Я хочу
если таблица tblInteres не содержит записей совпадений с visitorID тогда я хочу получить нулевое значение в InterestStatus Поле.

Что я уже пробовал:

Мой запрос выглядит следующим образом


SELECT tblUserInfo.UserAutoID, tblVisitor.VisitedProfileUserAutoId, tblUserInfo.UserFirstName, tblUserInfo.ProfileID,
		YEAR(GETDATE())-YEAR(UserDOB) AS UserDOB,tblUserInfo.Height,tblUserInfo.Religion, tblUserInfo.Education,
		tblUserInfo.Occupation, tblUserInfo.ProfilePicPath, tblInterest.InterestStatus
		FROM
		tblVisitor INNER JOIN tblUserInfo 
		ON 
		tblVisitor.VisitorAutoID=tblUserInfo.UserAutoID 
		JOIN tblInterest
		ON 
		tblVisitor.VisitorAutoID=tblInterest.InterestIn
		WHERE
		tblVisitor.VisitedProfileUserAutoId=@VisitedProfileUserAutoId
		AND
		tblVisitor.VisitorAutoID=tblInterest.InterestIn
		AND
		tblVisitor.IsDeleted=0


Когда я запускаю вышеописанный запрос, я получаю только те записи, которые находятся в tblInteres

1 Ответов

Рейтинг:
12

Er. Neel Kamal

Цитата:
Вопрос: у вас есть VisitorID и UserID. тогда почему вы использовали VisitorAutoID и UserAutoID ?

Решение: удалите соединение и добавьте левое соединение. (Присоединяйтесь к tblInterest
LEFT JOIN tblInterest
)


Vikas Hire

Спасибо... Это сработало..

Er. Neel Kamal

Приятно знать. Наслаждаться приятель.