विद्यार्थी तालिका 1

ID      Name     Surname        School Number     Class Number   ClassBranch
-----------------------------------------------------------------------------
113     Jane      Smith               19                4               A
121     John      Konl                42                5               B   
331     Albert    Smith               61                4               A
742     Jack      Ronal               52                5               B
759     Jan       Ronal               84                6               C

विद्यार्थी तालिका 2

ID     Name     Surname       School Number      Class Number   Class Branch
-----------------------------------------------------------------------------
113    Jane     Smith              11               4             D 
151    John     Konl               18               4             D 
804    Albert   Smith              26               5             F 
605    Jack     Ronal              32               5             F 
785    Jan    Ronal               87               8              L

छात्र तालिका बनाई गई

ID    Name   Surname   School Number    Class Number    Class Branch        
--------------------------------------------------------------------
113   Jane   Smith      NULL                 NULL          NULL
151   John   Konl       NULL                 NULL          NULL
804   Albert Smith      NULL                 NULL          NULL
605   Jack   Ronal      NULL                 NULL          NULL
NULL  NULL   NULL        11                    4             D  
NULL  NULL   NULL        18                    4             D  
NULL  NULL   NULL        26                    5             F  
NULL  NULL   NULL        32                    5             F  

मुझे यह तालिका चाहिए

   ID    Name   Surname    School Number   Class Number   Class Branch

   113   Jane   Smith           11              4               D

   151   John   Konl           18              4               D

   804   Albert Smith          26              5               F

   605   Jack   Ronal          32              5               F

मैं छात्र को तालिका 1 ---> आईडी, नाम, उपनाम और छात्र तालिका 2 -> स्कूल संख्या, कक्षा संख्या और कक्षा शाखा जोड़ना चाहता हूं। लेकिन joın सफल नहीं है .श्रेणी शाखा ए और बी हटा दी गई है और डी, एफ जोड़ रहा है।

पहली टेबल आईडी, नाम, उपनाम (3 कॉलम) और दूसरी टेबल स्कूल नंबर, क्लास नंबर, क्लास ब्रांच ज्वाइन करें।

Where शर्तें:

  • हटाया गया कॉलम -> 4 - ए और 5 - बी
  • कॉलम जोड़ना -> 4-डी और 5-एफ

मैं क्वेरी कैसे लिख सकता हूँ?

sql
-1
user10289101 29 अगस्त 2018, 22:40
कृपया दिखाएं कि आपने अब तक क्या प्रयास किया है।
 – 
Tobb
29 अगस्त 2018, 22:42
दो टेबल कैसे संबंधित हैं? शामिल होने के लिए दो तालिकाओं के बीच कोई समान मान नहीं हैं। क्या आप इसके बजाय एक यूनियन चाहते हैं?
 – 
D Stanley
29 अगस्त 2018, 22:43
मैं चाहता हूं कि पंक्तियां शून्य न हों। यह एक समाधान हो सकता है।
 – 
user10289101
29 अगस्त 2018, 22:48
1
काम करने के लिए दो तालिकाओं के बीच join के लिए, तालिकाओं में कुछ समान होना चाहिए, कुछ ऐसा जो एक तालिका की प्रत्येक पंक्ति को दूसरी तालिका की पंक्तियों से जोड़ सके। जिस तरह से आप इसका वर्णन करते हैं, उसमें शामिल होने का तरीका निकालना संभव नहीं है, क्योंकि आपने हमें यह नहीं बताया है कि दोनों तालिकाओं में क्या समानता है।
 – 
Tobb
29 अगस्त 2018, 22:49
आप जो वांछित आउटपुट चाहते हैं उसके आधार पर मैं सहमत हूं कि यूनियन यहां अधिक उपयुक्त है। मुझे यकीन नहीं है कि सभी एनयूएलएल वहां क्यों होंगे?
 – 
JJWillMC
29 अगस्त 2018, 22:50

2 जवाब

अब जबकि आपने मूल तालिकाओं को पूरी तरह से बदल दिया है, यह एक साधारण JOIN होना चाहिए।

SELECT t2.id, t1.name, t1.surname, t2.SchoolNumber, t2.ClassNumber, t2.ClassBranch
FROM Student1 AS t1
JOIN Student2 AS t2 ON t1.name = t2.name AND t1.surname = t2.surname

डेमो

1
Barmar 31 अगस्त 2018, 21:12
मुझे लगता है कि यह ओपी ने जो परिणाम दिया वह उस उदाहरण के रूप में दिया जाएगा जो वह नहीं चाहता था ..
 – 
Tobb
29 अगस्त 2018, 23:04
मैंने सोचा कि वह यही चाहता था।
 – 
Barmar
29 अगस्त 2018, 23:09
मुझे समझ नहीं आ रहा है कि आपका क्या मतलब है। प्रश्न संपादित करें और त्रुटि संदेश के साथ जो आपने प्रयास किया उसे जोड़ें।
 – 
Barmar
30 अगस्त 2018, 02:39
मैं नहीं देखता कि आपने 5 कॉलम कहाँ जोड़े हैं। लेकिन मैंने यह दिखाने के लिए उत्तर अपडेट किया कि आप OR के साथ एकाधिक पंक्तियों का चयन कैसे कर सकते हैं।
 – 
Barmar
30 अगस्त 2018, 02:55
मैं वर्तमान में 8 पंक्तियों में हूँ और रिक्त फ़ील्ड शामिल नहीं हो रहे हैं। क्या कोई और काम है जो मैं कर सकता हूँ?
 – 
user10289101
31 अगस्त 2018, 19:11

उन परिणामों को पाने के लिए?

1) जटिल तरीका। उनसे जुड़कर।

SELECT 
s2.ID, 
s1.Name, s1.Surname,
s2."School Number",  s2."Class Number", s2.ClassBranch
FROM Student1 AS s1
JOIN Student2 AS s2 ON (s2.Name = s1.Name AND s2.Surname = s1.Surname)
WHERE s1."Class Number" IN (4, 5);

2) सरल तरीका, केवल दूसरी तालिका से चुनें

SELECT *
FROM Student2
WHERE "Class Number" IN (4, 5);

SQL Fiddle पर परीक्षण यहां

0
LukStorms 31 अगस्त 2018, 21:40
इसके लिए धन्यवाद @LukStorms। इस लड़के का इतिहास देखिए। उनके सभी प्रश्न "मुझे कोड दें" हैं। मैं किसी को जवाब देने के बाद भी कचरे के सवालों के साथ वापस आता रहूंगा। अच्छा काम।
 – 
jww
25 सितंबर 2018, 00:55