sql - Joining two tables on column that contains duplicates while maintaining original row count from 1st table -
मेरे पास दो टेबल हैं:
टेबल 1 तालिका 2 आईडी कोड ग्रुप आईडी PICKNO अनुरोध रद्द किया गया INVOICENO ---------------- ----------------------- -------------------------- 1 123 ए 1 1 10-2-2013 10-4-2013 248 2 144 ए 1 2 10-2 -2013 10-4-2013 28 9 3 154 ए 1 3 10-2-2013 10-4-2013 28 9 1 211 बी 1 4 10-2-2013 10-4-2013 28 9 3 14 9 सी 2 5 10-14-2013 10-15-2013 255 1 200 ए 2 6 10-14-2013 10-15-2013 313 1 133 ए 3 7 10-20-2013 10-21-2013 313
I बाईं ओर तालिका में REQUESTDATE
और CANCELDATE
कॉलम जोड़ना चाहते हैं प्रत्येक आईडी
में केवल एक <स्ट्राइक>, अनन्य अनुरोध और केवल एक <स्ट्राइक>, अनन्य
संलिप्तता ( हर जगह
आईडी = 1
, REQUESTDATE
है 10-2-2013
और Canceled
है 10-
आईडी
पर बस से जुड़ने से मुझे डुप्लिकेट आईडी
की वजह से शुरू हुई तुलना में बहुत अधिक पंक्तियां मिलती हैं I मान। मुझे उचित canceling
s और REQUESTDATE
s के साथ तालिका 1 से केवल मूल पंक्तियां चाहिए यहां वांछित परिणाम का एक स्नैपशॉट है:
तालिका 1 आईडी कोड ग्रुप की जरूरी अनुरोध 1 123 ए 10-2-2013 10-4-2013 2 144 ए 10-14-2013 10-15-2013 3 154 ए 10-20-2013 10-21-2013 1 211 बी 10-2-2013 10-4-2013 3 14 9 सी 10-20-2013 10-21- 2013 1 200 ए 10-2-2013 10-4-2013 1 133 ए 10-2-2013 10-4-2013
क्या कोई मुझे सही दिशा में बता सकता है?
संपादित करें: प्रत्येक आईडी में केवल एक अनुरोध और एक रद्द की जाती है, लेकिन अलग-अलग आईडी का एक ही कैंडल और / या एक अन्य आईडी के रूप में अनुरोध किया जा सकता है।
अपने कथन के आधार पर प्रत्येक आईडी में केवल एक, अद्वितीय अनुरोध और केवल एक ही है, अनन्य रिसाव
, आप उन सभी को एक ही पंक्ति में मिटा सकते हैं:
<प्री> id, requestdate, canceldate द्वारा तालिका 2 समूह से आईडी चुनने के लिए, requestdate, canceldate
<पी > यह आपको आईडी के अनुसार एक पंक्ति प्राप्त करेगा आप एक व्युत्पन्न तालिका के रूप में इसमें शामिल हो सकते हैं: चुनें ... तालिका 1 में शामिल होने से (आईडी चुनें, अनुरोधित करें, तालिका द्वारा id2, requestdate, canceldate1 से रद्द कर सकते हैं) t2 पर t2.id = टी 2.आईडी
Comments
Post a Comment