আমি এই লাইন বরাবর একটি কোয়েরি লিখতে চেষ্টা করছি:
select *
from tbl
where
col1 = 1
and col2 = 2
and col3 = 3
order by
...
;
আমি প্রথমে সমস্ত ফলাফল চাই যেখানে সমস্ত 3 WHERE
কন্ডিশন মেলে (3/3), তারপরে সমস্ত ফলাফল যেখানে কোনও 2 শর্ত মেলে (2/3), এবং শেষ পর্যন্ত ফলাফল যেখানে কোনও 1 শর্ত মেলে (1/3)।
এই 3 ফলাফল সেটগুলির প্রত্যেকের দ্বারা অর্ডার করা দরকার (col4, col5, col6)
।
আমি কি একক ক্যোয়ারিতে এটি করতে পারি?
উদাহরণ স্বরূপ:
নমুনা http://img708.imageshack.us/img708/1646/sampletableresult1.jpg
পরীক্ষার ডেটা তৈরির স্ক্রিপ্ট:
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[MyTable]') AND type in (N'U'))
DROP TABLE [dbo].[MyTable]
GO
CREATE TABLE dbo.MyTable
(
col1 INT
, col2 INT
, col3 INT
, col4 INT
, col5 INT
, col6 INT
)
GO
INSERT dbo.MyTable (col1, col2, col3, col4, col5, col6)
SELECT 1,2,3,2,1,1 UNION ALL
SELECT 1,2,30,1,1,1 UNION ALL SELECT 1,20,30,1,1,1 UNION ALL
SELECT 10,20,3,1,1,1 UNION ALL SELECT 10,2,30,1,1,1 UNION ALL
SELECT 10,2,3,1,1,1 UNION ALL SELECT 10,20,30,1,1,1 UNION ALL
SELECT 1,2,3,1,1,1 UNION ALL SELECT 1,2,3,1,2,2 UNION ALL
SELECT 1,2,3,1,2,3 UNION ALL SELECT 1,20,3,1,1,1
GO
যদি সম্ভব হয় 3 ছাড়া! নমুনায় যোগ দিন 3 টি প্রথম কর্নাল রয়েছে, তবে বাস্তবে, এটি এর চেয়ে বেশি
—
ফরেক্স
সুতরাং আপনি সমস্ত সারি সন্ধান করতে চান যেখানে সমস্ত 3 শর্ত মেলে, তারপরে যেখানে কোনও 2 শর্ত মেলে, যেখানে কোনও 1 শর্ত মেলে এবং সমস্ত ফলাফল একসাথে রেখে, কল 4, 5 এবং 6 অনুসারে সাজানো এটি কি সঠিক?
—
নিক চ্যামাস
হ্যাঁ, আমি জানি, আমি অন্যভাবে অনুসন্ধান করছিলাম, কারণ এটি 3
—
কোণের
ঠিক আছে, এই মুহুর্তের জন্য এটির অ্যাক্সেস (আমি আমার এসকিউএল সার্ভার ডিবি পাওয়ার জন্য অপেক্ষা করছি)
—
ফরেক্স
আপনি যদি শেষ পর্যন্ত এসকিউএল সার্ভার ব্যবহার করেন তবে এক্সপ্রেস সংস্করণটি ইনস্টল করুন । সংস্করণটির জন্য অর্থ প্রদানে এবং অ্যাক্সেসে সিনট্যাক্স আইডিসিএনক্র্যাসির সাথে কোনও ডিলের জন্য আপগ্রেড পথ পরিষ্কার করুন।
—
মার্ক স্টোরী-স্মিথ