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

अन्य तालिका परिणाम खोजने के लिए डीबी कॉलम निकालें और विभाजित करें

नीट सोच मैं कहूंगा। ऐसा कुछ करने के लिए यहां एक प्रश्न दिया गया है

SELECT 
t1.temp_id
   --  ... put your column list here from t2 and t3 here like t2.name
FROM table1 t1 
  LEFT JOIN table2 t2 
     ON CAST(LEFT(t1.temp_id,CHARINDEX(':',t1.temp_id)-1) AS INT)=t2.ID
  LEFT JOIN table3 t3 
     ON CAST(RIGHT(t1.temp_id,CHARINDEX(':',REVERSE(t1.temp_id))-1) AS INT)=t3.ID

इसका परीक्षण करने के लिए यहां एक छोटी सी स्क्रिप्ट भी दी गई है

create table table1 (temp_id varchar(10))
insert into table1 values('1:1'),('21:2'),('1:22'),('1:'),(':2')

create table table2 (id int, value varchar(2))
insert into table2 values (1,'1'),(21,'21'),(1,'1')

create table table3 (id int, value varchar(2))
insert into table3 values (1,'1'),(2,'2'),(22,'22')

आउटपुट पीएस:null नोट करें आउटपुट में हैंडलिंग




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Azure डेटा स्टूडियो के साथ SQL सर्वर डेटाबेस बनाएँ

  2. SQL क्वेरी में गतिशील रूप से कॉलम चुनें

  3. बहु-भाग पहचानकर्ता को बाध्य नहीं किया जा सकता - SubQuery

  4. लिंक किए गए सर्वर (शून्य) के लिए OLE DB प्रदाता MSDASQL के डेटा स्रोत ऑब्जेक्ट को प्रारंभ नहीं कर सकता

  5. पता करें कि t-sql . से sql सर्वर सेवा कितने समय से चल रही है