Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर में कई प्रकार के डेटा को पकड़ें

तो - ऐसा लगता है कि आपके पास एक अजीब तरह से व्यवस्थित कार्य तालिका है, और परिणामस्वरूप, आपको सही क्वेरी करने के लिए हल्के से अजीब चीजें करनी होंगी। आपके विवरण के अनुसार, कार्य तालिका में एक पंक्ति में एक छात्र आईडी, एक प्रवेश आईडी, एक पूछताछ आईडी, या एक पूछताछ विवरण आईडी शामिल है। ऐसा करने का यह सबसे अच्छा तरीका नहीं है...लेकिन मैं समझता हूं कि कभी-कभी आपको अपने पास जो कुछ भी होता है उसके साथ काम करना पड़ता है।

इसलिए, नाम प्राप्त करने के लिए, आपको नामों के स्रोत से जुड़ना होगा... और यह मानते हुए कि वे सभी जगह हैं, संबंधित तालिकाओं में, आप कुछ ऐसा कर सकते हैं:

select 
  t.StudentID,t.AdmissionID,t.EnquiryID,t.EnquiryDetailsID,x.FirstName,x.LastName
from Task t inner join Student s on t.StudentId = s.Id
union all
select 
  t.StudentID,t.AdmissionID,t.EnquiryID,t.EnquiryDetailsID,x.FirstName,x.LastName
from Task t inner join Admission a on t.AdmissionId = a.Id
union all 
select 
  t.StudentID,t.AdmissionID,t.EnquiryID,t.EnquiryDetailsID,x.FirstName,x.LastName
from Task t inner join Enquiry e on t.EnquiryId = e.Id
union all 
select 
  t.StudentID,t.AdmissionID,t.EnquiryID,t.EnquiryDetailsID,x.FirstName,x.LastName
from Task t inner join EnquiryDetail d on t.EnquiryDetailId = d.Id

...या, आप एक ही चीज़ को अंदर से बाहर कर सकते हैं:

select 
  t.StudentID, 
  t.AdmissionID, 
  t.EnquiryID, 
  t.EnquiryDetailsID,
  x.FirstName,
  x.LastName
from 
  Task t
  inner join
  (
    select 's' source, Id, FirstName, LastName from Student union all
    select 'a' source, Id, FirstName, LastName from Admission union all
    select 'e' source, Id, FirstName, LastName from Enquiry union all
    select 'd' source, Id, FirstName, LastName from EnquiryDetail
  ) as x
  on
    ( t.StudentId  = x.Id and x.source = 's' )
    or
    ( t.AdmissionId = x.Id and x.source = 'a' )
    or
    ( t.EnquiryId = x.Id and x.source = 'e' )
    or 
    ( t.EnquiryDetailId = x.Id and x.source = 'd' )
where 
  t.TaskUser=0 and t.BranchID=1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर मौजूदा तालिका में ऑटो वृद्धि प्राथमिक कुंजी जोड़ें

  2. दो पंक्तियों में दो मानों को स्विच करने के लिए SQL अद्यतन विवरण

  3. दो डेटाबेस के बीच विदेशी कुंजी संबंध जोड़ें

  4. MSSQL2008 - Pyodbc - पिछला SQL एक प्रश्न नहीं था

  5. SQL के साथ बल्क रिकॉर्ड अपडेट