टी 1 से सभी का चयन करें यदि t1.uniqueNumber! = t2.uniqueNumber - mysql, चुनें

मुझे अपनी जरूरतों का वर्णन करने दो ....

मेरे पास डेटाबेस की 2 MySQL तालिका है। मुझे टेबल नाम को स्टॉक-इन और स्टॉक-आउट के रूप में कॉल करने दें। सबसे पहले, मैंने प्रत्येक पंक्ति के लिए serialno के रूप में एक अद्वितीय संख्या के साथ स्टॉक में 15 पंक्तियां डाली हैं।

mysql> select stockin_id, serialno, description from stockin limit 0,15;
+------------+------------+------------------------------------------+
| stockin_id | serialno   | description                              |
+------------+------------+------------------------------------------+
|          1 | KDR0000001 | DATA CARRIER/FLASH CARD WITH RBS 2000 SW |
|          2 | KDR0000002 | DATA CARRIER/FLASH CARD WITH RBS 2000 SW |
|          3 | KDR0000003 | DATA CARRIER/FLASH CARD WITH RBS 2000 SW |
|          4 | KDR0000004 | DATA CARRIER/FLASH CARD WITH RBS 2000 SW |
|          5 | KDR0000005 | DATA CARRIER/FLASH CARD WITH RBS 2000 SW |
|          6 | KDR0000006 | DATA CARRIER/FLASH CARD WITH RBS 2000 SW |
|          7 | KDR0000007 | DATA CARRIER/FLASH CARD WITH RBS 2000 SW |
|          8 | KDR0000008 | DATA CARRIER/FLASH CARD WITH RBS 2000 SW |
|          9 | KDR0000009 | DATA CARRIER/FLASH CARD WITH RBS 2000 SW |
|         10 | KDR0000010 | DATA CARRIER/FLASH CARD WITH RBS 2000 SW |
|         11 | T22ALT5786 | PRINTED BRD ASSMBLY                      |
|         12 | TU82956450 | FUNCTIONAL UNIT/GSM DXU-21               |
|         13 | X510239240 | FUNCTIONAL UNIT/GSM DXU-21               |
|         14 | TD36843873 | PRINTED BOARD ASSEMB/RP4-F               |
|         15 | TD36843908 | PRINTED BOARD ASSEMB/RP4-F               |
+------------+------------+------------------------------------------+
15 rows in set (0.00 sec)

अब, मुझे स्टॉक-इन उत्पादों में से कुछ उत्पादों को उसी सीरियलनो के साथ स्थानांतरित कर दिया गया है जो स्टॉक-आउट टेबल में संग्रहीत हैं-

mysql> select stockout_id, serialno, description from stockout limit 0,15;
+------------+------------+------------------------------------------+
| stockin_id | serialno   | description                              |
+------------+------------+------------------------------------------+
|          1 | KDR0000001 | DATA CARRIER/FLASH CARD WITH RBS 2000 SW |
|          2 | KDR0000002 | DATA CARRIER/FLASH CARD WITH RBS 2000 SW |
|          3 | KDR0000003 | DATA CARRIER/FLASH CARD WITH RBS 2000 SW |
|          4 | KDR0000004 | DATA CARRIER/FLASH CARD WITH RBS 2000 SW |
+------------+------------+------------------------------------------+
4 rows in set (0.00 sec)

अब, मैं सटीक का चयन करना चाहता हूं स्टॉक में हाथ स्टॉक-इन से प्रविष्टियां मैं कैसे प्राप्त कर सकता हूं?

उत्तर:

जवाब के लिए 0 № 1

आप इसे करने के कुछ तरीके हैं

SELECT  *
FROM    stockin si
WHERE   NOT EXISTS  (
SELECT  1
FROM    stockout so
WHERE   si.serialno = so.serialno
)

या

SELECT  *
FROM    stockin si
WHERE   si.serialno NOT IN  (
SELECT  so.serialno
FROM    stockout so
)

यदि आप जानते हैं कि तालिका में प्रविष्टियां stockin तथा stockout विशिष्ट हैं

SELECT  *
FROM    stockin si LEFT JOIN
stockout so ON  si.serialno = so.serialno
WHERE   so.serialno IS NULL

मैं सुझाव दूंगा कि आप उस व्यक्ति का उपयोग करें जो आपको पढ़ने के दौरान सबसे ज्यादा समझ में आता है, और उसके बाद केवल प्रदर्शन के बारे में चिंता करना शुरू कर देता है।


संबंधित सवाल
सबसे लोकप्रिय