sybase - SQL joining two tables with common row -
मेरे पास sybase में 2 टेबल हैं
खाता_टेबल
< प्री> आईडी खाताकोड 1 ए 2 बी 3 सी
एसोसिएट_टेबल
आईडी अकाउंटकोड 1 ए 1 बी 1 सी 2 ए 2 बी 3 ए 3 सी
मेरे पास यह एसक्यूएल क्वेरी है
SELECT * account_table खाते से, associate_table assoc WHERE account.account_code = assoc.account_code
यह क्वेरी 7 पंक्तियों को वापस कर देगी। मुझे क्या चाहिए associate_table से पंक्तियों को वापस करना है जो कि केवल 3 खातों में समान है:
खाता आईडी account_code एएसओसीआई आईडी 1 ए 1 2 बी 1 3 सी 1 < / Pre> क्या कोई मुझे शामिल होने में मदद कर सकता है?
चुनें बी.आई.डी. अकाउंट_आईडी, ए सीड, एक एडीओसीआईडी एसोसिएट ए, अकाउंट बी WHERE a.code = b.code और a.id IN (SELECT a.id से एसोसिएट ए, खाता बी WHERE a.code = b .कोड ग्रुप द्वारा a.id हैगिंग गणना (*) = (चयन संख्या (*) खाते से));
नोट: यह क्वेरी केवल तभी काम करती है जब आपके खाता तालिका में आईडी और account_code कॉलम में अद्वितीय मान हैं। और यह भी, आपके associate_table में (आईडी, खाता, कोड) का अद्वितीय संयोजन होना चाहिए। यानी, सहयोगी तालिका में (1, ए) या किसी भी जोड़ी को दो बार शामिल नहीं होना चाहिए।
Comments
Post a Comment