Когда запрос повторно не приводит ни к какому результату, это связано с тем, что не существует записей, удовлетворяющих условиям в условии where, или, в случае запросов, содержащих внутренние объединения, по крайней мере одно из объединений on
не возвращает никаких записей.
Самый простой способ выяснить, в каком объединении происходит путаница в вашем запросе, - это начать удалять объединения по одному, но для этого нужно сначала изменить предложение select.
ЧтоМне нравится делать следующее: начать со всех объединений, кроме последнего - посмотреть, возвращает ли он какие-либо записи:
SELECT 1
FROM [dbo].[StorageLocation]
INNER JOIN [dbo].[Wine]
ON [dbo].[StorageLocation].[WineID] = [dbo].[Wine].[WineID]
INNER JOIN [dbo].[Vintner]
ON [dbo].[Vintner].[VintnerID] = [dbo].[Wine].[VintnerID]
INNER JOIN [dbo].[Vendor]
ON [dbo].[Vendor].[VendorID] = [dbo].[Wine].[VendorID]
INNER JOIN [dbo].[Pairing]
ON [dbo].[Pairing].[PairingID] = [dbo].[Wine].[PairingID]
-- INNER JOIN [dbo].[Rating]
-- ON [dbo].[Rating].[RatingID] = [dbo].[Wine].[RatingID]
WHERE [dbo].[StorageLocation].[StorageLocationID] = @storageLocationID
Если нет, закомментируйте следующее объединение и снова выполните запрос. Промойте и повторите.
Обратите внимание, однако, что может быть несколько внутренних соединений, которые не позволяют запросу возвращать записи.