2014-11-19 1 views
0

У меня есть хранимая процедура, которая берет данные определенного порядка (все продукты, которые были куплены с этим заказом), и я внедрил систему оценки, в которой каждый покупатель может оценивать продукты, которые он купил. Теперь моя проблема заключается в том, что когда 1 покупатель оценивает все продукты, которые он купил (скажем, 3 продукта), а теперь, когда приходит следующий покупатель, покупает все 3 одинаковые продукты, и когда он получает форму для оценки продуктов, он получает классы предыдущего парня, который оценил их (скажем, 4,5 и 1 класс). Вот хранимая процедура я использую:Проблемы с хранимой процедурой в БД

ALTER procedure [dbo].[hsp_Narudzbe_Detalji2] 
(
@NarudzbaID int 
) 
as 
select ns.*,p.Naziv,p.Sifra,p.Cijena,ISNULL(o.Ocjena,-1) as Ocjena 
from NarudzbeStavke as ns join Proizvodi as p 
on ns.ProizvodID= p.ProizvodID left join ocjene as o 
on o.ProizvodID=p.ProizvodID 
where ns.NarudzbaID = @NarudzbaID 

Как вы можете видеть, я выбираю все продукты, которые были заказаны для конкретного заказа (где [email protected]), а также я слева, чтобы увидеть какие продукты еще не оценены. Теперь я хотел бы выслать оценки 1-го покупателя, чтобы 2-й покупатель мог также добавить свои оценки? Может ли кто-нибудь помочь мне с этим?

+0

Кто-нибудь? Кто то? – perkes456

+0

Какие СУБД вы используете? Вы отметили mysql и sql-сервер. Это не одно и то же. Некоторые данные ddl и sample будут проходить долгий путь, чтобы помочь вам. sqlfiddle.com - отличное место для начала. –

+0

im используя mssql, я ошибся с тегами. Я просто хочу знать, возможно ли это? im уверен, что это можно сделать с помощью sub-запросов, но им просто не так хорошо с sql :( – perkes456

ответ

0

Вы также должны хранить OrderID и buyerid в ocjene таблице и должны присоединиться к нему следующим образом:

покинул присоединиться

ocjene как о

на

o.ProizvodID = р .ProizvodID AND

o.buyerid = ns. [Область покупателя/идентификатор покупателя] И

o.NarudzbaID = ns.NarudzbaID

+0

а? Подождите, я попробую этот метод. – perkes456

+0

У меня нет идентификатора покупателя в NS и нет narudzbaID в o ... – perkes456

+0

@ perkes456 без идентификатора покупателя вы не можете определить, какой клиент дал какой счет для продукта. – Sandeep

Смежные вопросы