আমি আরও বেশি নমনীয় হওয়ার জন্য আমার ডাটাবেসে কিছু সারণি পুনর্গঠিত করেছি তবে এসকিউএল কীভাবে সেগুলি থেকে অর্থবহ ডেটা আহরণের জন্য লিখতে হয় তা আমি নিশ্চিত নই।
আমার কাছে নিম্নলিখিত সারণী রয়েছে (কিছুটা পরিষ্কার উদাহরণের জন্য সংক্ষেপিত):
CREATE TABLE Loans(
Id int,
SchemaId int,
LoanNumber nvarchar(100)
);
CREATE TABLE SchemaFields(
Id int,
SchemaId int,
FieldName nvarchar(255)
);
CREATE TABLE LoanFields(
Id int,
LoanId int,
SchemaFieldId int,
FieldValue nvarchar(4000)
);
নিম্নলিখিত তথ্য সহ:
INSERT INTO Loans (Id, SchemaId, LoanNumber) VALUES (1, 1, 'ABC123');
INSERT INTO SchemaFields (Id, SchemaId, FieldName) VALUES (1, 1, 'First Name');
INSERT INTO SchemaFields (Id, SchemaId, FieldName) VALUES (2, 1, 'Last Name');
INSERT INTO LoanFields (Id, LoanId, SchemaFieldId, FieldValue) VALUES (1, 1, 1, 'John');
INSERT INTO LoanFields (Id, LoanId, SchemaFieldId, FieldValue) VALUES (2, 1, 2, 'Doe');
উদ্দেশ্যটি এমন একটি কোয়েরি পাওয়া যা এর সমস্ত ক্ষেত্রের সাথে loanণের জন্য সমতল। (বাস্তব বিশ্বে সম্ভবত একই স্কীমার জন্য 20-30 ক্ষেত্রের মধ্যে থাকতে পারে, তবে আমাদের উদাহরণে কেবল 2 টি আছে):
LoanNumber First Name Last Name
---------- ----------- ----------
ABC123 John Doe
আমি 'পাইভট' ব্যবহার করতে পারি না যা 'প্রথম নাম' এবং 'শেষ নাম' উল্লেখ করে কারণ সেখানে আসলে কী হবে সে সম্পর্কে আমার কোনও ধারণা নেই।
ইতিমধ্যে আমার কাছে স্কেমা সহ এখানে একটি এসকিউএল ফিডল রয়েছে ।
আমি কীভাবে পছন্দসই ফলাফল পেতে পারি?