PDA

View Full Version : سئوال از یک کوئری در SQL فوری



hessam2003
شنبه 12 بهمن 1392, 14:16 عصر
سلام.
من این کد رو نوشتم:
http://upload7.ir/imgs/2014-02/95150140601881220753.jpg
اما این نتیجه رو نمایش میده که درست نیست:
http://upload7.ir/imgs/2014-02/40344547119911826177.jpg

lastmory
شنبه 12 بهمن 1392, 14:24 عصر
با سلام
خوب چی باید برگردونه ، این داره براساس شرطهایی که گذاشتی کاملا درست کار میکنه
حالا چرا از LIKE دارید استفاده میکنید ؟؟؟؟

hessam2003
شنبه 12 بهمن 1392, 16:22 عصر
طبق ورودی که من وارد کردم باید فقط سطر اول را برگردونه یعنی کد کاربری 3 و تاریخ 1392/11/12
اما دوتا سطر کد 3 را برمیگردونه

hessam2003
شنبه 12 بهمن 1392, 17:20 عصر
کسی نیست کمک کنه خیلی فوری....

starting
سه شنبه 15 بهمن 1392, 09:45 صبح
میخواهی جستجور Dynamic داشته باشی. خب راه حلی که بکار گرفتی نمی تواند چندان عمومیت داشته باشه و برای پارامترهای زیاد که تمام ترکیبات ممکنه زیاد میشه شما را حتما به درد سر می اندازه.
برای این منظور از تکنیک های دیگه استفاده کنید. یکی از آنها Generate کردن کوئری بصورت داینامیک و اجرای آن با پروسیجر سیستمی sp_executesql هست.

یک مثال ساده:
Create Procedure Test (@par01 int, @par02 int)
AS

declare @sql nvarchar(max)
set @sql = 'select * from table where 1=1 '

if @par01 is not null
set @sql += 'and field1 = @par1 '

if @par02 is not null
set @sql += 'and field2 = @par2 '

execute sp_executesql
@sql, N'@par1 int, @par2 int', @par01, @par02

Go