Я работаю над веб-приложением в asp.net, и я использую SQL, предоставленный VS Community 2015 для создания и управления БД.SQL Server Compact: Left Join возвращает только одну строку для записей MOST
В какой-то момент я хочу вернуть все записи в одну таблицу, присоединив ее к другой таблице, в которой может иметь полностью пустые записи. Эта последняя таблица заполнена данными, введенными пользователями при взаимодействии с веб-сайтом.
Однако моя хранимая процедура выполняет только одну из четырех строк, которые я хочу, чтобы она извлекала FOR MOST из моих записей. Пока я тестировал свой код, я привык использовать только один профиль, для которого он работает так, как ожидалось. Это странная часть для меня ... У вас есть идеи, почему это происходит?
create proc UserProfile
@email varchar(100)
as
begin
select * from TabelNume where email = @email
declare @moduleID int
declare @participantID int
select @moduleID = Session_Fk from TabelNume where [email protected]
select @participantID = id from TabelNume where [email protected]
select * from Modules where Id = @moduleID;
select * from Meetings left outer join Scales on Meetings.Id = Scales.Meeting_FK
where Meetings.Module_FK = @moduleID and (Participants_FK = @participantID or Participants_FK is null)
end
Так вот, когда я бегу spUserProfile '[email protected]'
он извлекает 4 строки для моего соединения.
Однако, когда я запускаю spUserProfile '[email protected]'
, он выбирает только 1 строку. Эта строка является последней записью с Meetings.Module_FK
, как указано в sp. Любая помощь приветствуется! Благодаря!
SQL Server, который поставляется с VS Community 2015, скорее всего, ** не ** SQL Server Compact (CE) - это устаревшее. Скорее всего, это SQL Server ** LocalDB ** (версия для программиста Express) –