আমি বিশ্বাস করি যে আপনি নিম্নলিখিত উত্তরগুলি সামঞ্জস্য করে "অ-পছন্দসই" কলামগুলি আপডেট করতে বাদ দিতে পারেন:
update table set
columnx = (case when condition1 then 25 end),
columny = (case when condition2 then 25 end)
আমি এটি বুঝতে পারি, শর্তটি পূরণ হলেই এটি আপডেট হবে।
সমস্ত মন্তব্য পড়ার পরে, এটি সবচেয়ে দক্ষ:
Update table set ColumnX = 25 where Condition1
Update table set ColumnY = 25 where Condition1
নমুনা সারণী:
CREATE TABLE [dbo].[tblTest](
[ColX] [int] NULL,
[ColY] [int] NULL,
[ColConditional] [bit] NULL,
[id] [int] IDENTITY(1,1) NOT NULL
) ON [PRIMARY]
নমুনা ডেটা:
Insert into tblTest (ColX, ColY, ColConditional) values (null, null, 0)
Insert into tblTest (ColX, ColY, ColConditional) values (null, null, 0)
Insert into tblTest (ColX, ColY, ColConditional) values (null, null, 1)
Insert into tblTest (ColX, ColY, ColConditional) values (null, null, 1)
Insert into tblTest (ColX, ColY, ColConditional) values (1, null, null)
Insert into tblTest (ColX, ColY, ColConditional) values (2, null, null)
Insert into tblTest (ColX, ColY, ColConditional) values (null, 1, null)
Insert into tblTest (ColX, ColY, ColConditional) values (null, 2, null)
এখন আমি ধরে নিয়েছি আপনি শর্তসাপেক্ষে লিখতে পারেন যা নালগুলি পরিচালনা করে। আমার উদাহরণ হিসাবে, আমি ধরে নিচ্ছি যে আপনি এমন শর্তযুক্ত লিখেছেন যা সত্য, মিথ্যা বা নালকে মূল্যায়ন করে। যদি আপনার এইটির জন্য সাহায্যের প্রয়োজন হয় তবে আমাকে জানান এবং আমি যথাসাধ্য চেষ্টা করব।
এখন এই দুটি রেখার কোডটি চালিয়ে যাওয়া X এবং 25 তে পরিবর্তিত হবে এবং কেবলমাত্র যদি ColConditional সত্য (1) এবং Y থেকে 25 হয় এবং কেবলমাত্র ColConditional মিথ্যা (0) হলে
Update tblTest set ColX = 25 where ColConditional = 1
Update tblTest set ColY = 25 where ColConditional = 0
পিএস নাল কেসটি কখনই মূল প্রশ্নে বা প্রশ্নের কোনও আপডেটে উল্লেখ করা হয়নি, তবে আপনি দেখতে পাচ্ছেন, এই খুব সাধারণ উত্তর যাইহোক তাদের পরিচালনা করে।