Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > .NET Framework > Forum > สอบถามเรื่องการค้นหาแบบเงื่อนไขโดยใช้ if else ใน stored procedure



 

สอบถามเรื่องการค้นหาแบบเงื่อนไขโดยใช้ if else ใน stored procedure

 



Topic : 128454



โพสกระทู้ ( 14 )
บทความ ( 0 )



สถานะออฟไลน์




Code (SQL)
ALTER PROCEDURE [dbo].[spSchool]
	
	@Id				nvarchar(20),
	@name			nvarchar(200),
	@jurisdictionId nvarchar(20),
	@regionId				nvarchar(20),
	@provinceId				nvarchar(20),

	@pagesize			tinyint = 10,
	@pageindex			int =1,
	@totalrecords		int output

AS

BEGIN

	SET NOCOUNT ON;

	declare @upperband int, @lowerband int;
	select @totalrecords = count(1)
	from ms_school ms
		left join BasicJurisdiction j on j.JurisdictionID = ms.JurisdictionID
		left join BasicProvince p on p.ProvinceID = ms.ProvinceID
--อยากจะ if ตรง where ถ้ามีแค่ @Id ก็หาแค่ @Id เพราะใช้ and ทั้งหมดแล้วดึงข้อมูลไม่ได้ พอใช้ or ค่าออกมาเพี้ยน
	where (ms.schoolid like '%'+@Id+'%') and (ms.schoolname like '%'+@name+'%') or (ms.JurisdictionID like '%'+@jurisdictionId+'%') or (p.RegionID like '%'+@regionId+'%') or (ms.ProvinceID like '%'+@provinceId+'%')

	set @lowerband  = (@pageindex - 1) * @pagesize;
	set @upperband  = (@pageindex * @pagesize) + 1;

	with temp_school_by_page as (
		select top(@pageindex * @pagesize) row_number() over (order by ms.SchoolID) as rownumber 
			,ms.*, j.JurisdictionName
		from ms_school ms
			left join BasicJurisdiction j on j.JurisdictionID = ms.JurisdictionID
			left join BasicProvince p on p.ProvinceID = ms.ProvinceID
		where (ms.schoolid like '%'+@Id+'%') and (ms.schoolname like '%'+@name+'%') or (ms.JurisdictionID like '%'+@jurisdictionId+'%') or (p.RegionID like '%'+@regionId+'%') or (ms.ProvinceID like '%'+@provinceId+'%')
		

	)select * from temp_school_by_page 
	where rownumber > @lowerband and rownumber < @upperband;

END    




Tag : .NET, Ms SQL Server 2012, C#









ประวัติการแก้ไข
2017-08-02 14:30:03
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-08-02 14:27:51 By : indygunaza View : 603 Reply : 1
 

 

No. 1



โพสกระทู้ ( 219 )
บทความ ( 5 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


น่าจะใช้ CASE WHEN <เงื่อนไข> THEN <????>
ตัวอย่างเช่น
------------------------
Code (SQL)
   DECLARE
        @Id nvarchar(20);
        @name nvarchar(200),  

SELECT
   column1, 
   column2
FROM
   viewWhatever
WHERE
CASE 
    WHEN LEN(@Id)>0 THEN  (ms.schoolid like '%'+@Id+'%')
    WHEN LEN(@Id)>0  AND LEN(@name)>0 THEN (ms.schoolid like '%'+@Id+'%') AND (ms.schoolname like '%'+@name+'%')
    ELSE (ms.schoolid is not null)
END = 1

------------------------
ลองดูในการใช้งาน CASE จาก
- https://docs.microsoft.com/en-us/sql/t-sql/language-elements/case-transact-sql
- https://stackoverflow.com/questions/26753934/case-statement-in-where-clause-in-sql








ประวัติการแก้ไข
2017-08-02 22:43:51
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-08-02 22:43:05 By : ccjpn
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเรื่องการค้นหาแบบเงื่อนไขโดยใช้ if else ใน stored procedure
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่