SQLite - में शामिल होने के 2 टेबल को छोड़कर कुछ पंक्तियों के आधार पर एक आंशिक स्ट्रिंग मिलान

0

सवाल

कल्पना कीजिए मैं दो टेबल:

टेबल पर एक

नाम बिक्री विभाग
डेव 5 जूते
माइक 6 परिधान
दान 7 सामने अंत

तालिका बी

नाम बिक्री विभाग
डेव 5 जूते
माइक 12 परिधान
दान 7 सामने अंत
Gregg 23 जूते
किम 15 सामने अंत

मैं चाहता हूँ बनाने के लिए एक क्वेरी मिलती है कि टेबल नामों से और अलग राशि की बिक्री से तालिका. मैं इसके अतिरिक्त फ़िल्टर करना चाहते हैं मेरे प्रश्न को दूर करने के लिए स्ट्रिंग से मेल खाता है या आंशिक मैचों से इस मामले में कुछ नाम है ।

मैं चाहता हूँ कि क्या है, निम्नलिखित परिणाम

तालिका C के लिए:

एक बिक्री की राशि बी बिक्री राशि
18 24

मैं जानता हूँ कि मैं यह कर सकते हैं के साथ एक क्वेरी निम्न के जैसा:

SELECT SUM(A.sales) AS 'A Sales Sum', SUM(B.sales) AS 'B sales Sum' FROM A
JOIN B
ON B.names = A.Names
WHERE Names NOT LIKE '%Gregg%' OR NOT LIKE '%Kim%'

इस के साथ समस्या यह है, जहां खंड प्रतीत नहीं होता है, लागू करने के लिए लागू होता है या गलत तालिका करने के लिए. के बाद से नाम से स्तंभ नहीं है, वास्तव में मैच दोनों के बीच, मुझे लगता है कि क्या हो रहा है है, जब वे कर रहे हैं में शामिल हो गए पर 'बी नाम = ए नाम', एक्स्ट्रा कलाकार के लिए पूरी तरह से कर रहे हैं बाहर रखा जा रहा है? जब मैं बातें फ्लिप के आसपास हालांकि मैं एक ही परिणाम प्राप्त है, जो कोई फ़िल्टर लागू किया जा रहा है. गलत परिणाम मैं हो रही हूँ निम्नलिखित है:

तालिका डी:

एक बिक्री की राशि बी बिक्री राशि
18 62

स्पष्ट रूप से मैं एक वाक्य रचना मुद्दे के बाद से मैं यहाँ हूँ नए SQL करने के लिए । मैं क्या कर रहा हूँ याद आ रही है? धन्यवाद!

left-join sql-like sqlite sum
2021-11-23 01:33:05
2

सबसे अच्छा जवाब

0

आप की जरूरत नहीं है एक में शामिल होने या एक संघ की मेज और आप यह नहीं करना चाहिए.
कुल में प्रत्येक तालिका अलग से और वापसी के परिणाम के साथ 2 की जाने वाली सबक्वेरी:

SELECT 
  (SELECT SUM(Sales) FROM A WHERE Names NOT LIKE '%Gregg%' AND Names NOT LIKE '%Kim%') ASalesSum,
  (SELECT SUM(Sales) FROM B WHERE Names NOT LIKE '%Gregg%' AND Names NOT LIKE '%Kim%') BSalesSum
2021-11-23 07:02:45

वहाँ एक तरीका है करने के लिए उपयोग की जाने वाली सबक्वेरी इस तरह जोड़ने के लिए एकाधिक पंक्तियाँ? की तरह, चलो कहना मैं है अलग तालिकाओं की बिक्री के आंकड़ों के प्रत्येक विभाग के लिए, और मैं चाहता था कि प्रत्येक पंक्ति में क्वेरी किया जा करने के लिए एक अलग लेबल विभाग सकता है, मैं प्रारूप का उपयोग तुम्हें दे दिया है यहाँ कुछ करने के लिए की तरह है कि?
carlb710

@carlb710 प्रत्येक सबक्वेरी रिटर्न केवल 1 पंक्ति और 1 कॉलम. यदि आप चाहते हैं अधिक से अधिक 1 पंक्तियाँ आप का उपयोग करना चाहिए 1 से अधिक प्रश्नों की तरह ऊपर क्वेरी के साथ संयुक्त संघ, लेकिन हो सकता है यह नहीं होगा सबसे अच्छा तरीका करने के लिए क्या आप चाहते हैं. यह बेहतर पोस्ट करने के लिए एक नया सवाल है, जहां आप को समझाने के लिए क्या आप चाहते हैं के साथ नमूना डेटा और परिणाम की उम्मीद है.
forpas
0

मुझे लगता है कि आप चाहते हैं एक संघ के दृष्टिकोण यहाँ है:

SELECT
    SUM(CASE WHEN src = 'A' THEN sales ELSE 0 END) AS "A Sales Sum",
    SUM(CASE WHEN src = 'B' THEN sales ELSE 0 END) AS "B Sales Sum"
FROM
(
    SELECT sales, 'A' AS src FROM A WHERE Names NOT IN ('Gregg', 'Kim')
    UNION ALL
    SELECT sales, 'B' FROM B WHERE Names NOT IN ('Gregg', 'Kim')

) t;

यहाँ एक डेमो दिखा रहा है कि इसके बाद के संस्करण क्वेरी काम कर रहा है.

2021-11-23 01:39:07

धन्यवाद आप के लिए वास्तव में पढ़ने के लिए समय ले मेरे सवाल और एक जवाब देने के लिए भागने से पहले का कहना है कि यह अधूरी है । उपयोगी सुझाव!
carlb710

@carlb710 धन्यवाद और स्वागत करने के लिए ढेर अतिप्रवाह! अगर इस सवाल का जवाब हल आपकी समस्या है, तो कृपया पर विचार को स्वीकार करने के द्वारा, इसे क्लिक हरे रंग की सही का निशान करने के लिए छोड़ दिया है ।
Tim Biegeleisen

इस काम आंशिक स्ट्रिंग से मेल खाता है? कहते हैं कि मैं था बाहर फ़िल्टर तार नहीं कर रहे हैं कि नाम में कई शब्दों के साथ उन्हें. सकता है मैं बस का उपयोग नहीं में की तरह ('%एक शब्द भी%')?
carlb710

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में