PDA

View Full Version : سوال: خطا در کاربرد UNIQUE



MasoudAliAkbari
پنج شنبه 12 بهمن 1391, 12:48 عصر
در دستور زیر خطای زیر داده می شود مشکل کجاست؟

select FirstName, LastName
From customer
Where UNIQUE
(Select CustomerID
From Sales
Where Sales.CustomerID = Customer.CustomerID);

Msg 156, Level 15, State 1, Line 3
Incorrect syntax near the keyword 'UNIQUE'.

محمد سلیم آبادی
پنج شنبه 12 بهمن 1391, 13:16 عصر
در زبان T-SQL کلید واژه Unique فقط در تعریف قید بکار میرود.
اگر منظورتون این هست که subqery فقط یک مقدار بر گرداند می توانید توسط تابع count تعدادشان را بدست بیاورین و مقایسه انجام دهین.

MasoudAliAkbari
پنج شنبه 12 بهمن 1391, 14:01 عصر
در زبان T-SQL کلید واژه Unique فقط در تعریف قید بکار میرود.
اگر منظورتون این هست که subqery فقط یک مقدار بر گرداند می توانید توسط تابع count تعدادشان را بدست بیاورین و مقایسه انجام دهین.
منظورم اینه که در subquery رکورد تکراری وجود نداشته باشد
باید چی کار کنم؟

محمد سلیم آبادی
پنج شنبه 12 بهمن 1391, 14:26 عصر
این را امتحان کنید:
select FirstName, LastName
From customer
Where
(Select count(CustomerID)
From Sales
Where Sales.CustomerID = Customer.CustomerID) = 1

محمد سلیم آبادی
پنج شنبه 12 بهمن 1391, 14:29 عصر
تکنیک مورد استفاده ی من:
select firstname, lastname
from customer c
inner join
(
select customerid
from sales
group by customerid
having count(customerid) = 1
)t
on c.customerid = t.customerid