मेरे पास निम्न तालिकाओंMySQL मैं इस सबक्वायरी को कैसे बना सकता हूं?
टेबल फार्म
+---------+--------+-------------------+-----------+------------+
| FARM_ID |Stock_ID| FARM_TITLE | Size | FARM_VALUE |
+---------+--------+-------------------+-----------+------------+
| 2 | 1 | AgriZone | M | 202 |
| 3 | 1 | Cow Mill | L | 11 |
| 4 | 2 | Beef Farm | H | 540 |
| 5 | 2 | CattleOne | M | 1080 |
| 6 | 2 | FarmOne | L | 455 |
| 7 | 3 | Perdue | H | 333 |
| 8 | 4 | Holstein | M | 825 |
| 10 | 1 | Dotterers | H | 98 |
+---------+--------+-------------------+-----------+------------+
टेबल गेट
+---------+---------+------------+
| GATE_ID | FARM_ID | FARM_VALUE |
+---------+---------+------------+
| 1 | 2 | 0 |
| 1 | 3 | 0 |
| 1 | 4 | 540 |
| 2 | 4 | 550 |
| 3 | 4 | 560 |
| 4 | 4 | 570 |
| 5 | 4 | 580 |
| 6 | 4 | 590 |
| 1 | 5 | 1080 |
| 2 | 5 | 1100 |
| 3 | 5 | 1120 |
| 4 | 5 | 1140 |
| 5 | 5 | 1160 |
| 6 | 5 | 1180 |
| 1 | 6 | 455 |
| 2 | 6 | 536 |
| 3 | 6 | 617 |
| 4 | 6 | 698 |
| 5 | 6 | 779 |
| 6 | 6 | 860 |
| 1 | 7 | 0 |
| 1 | 8 | 0 |
| 1 | 10 | 0 |
+---------+---------+------------+
टेबल उत्पत्ति
+--------+----------+
| ORI_ID | ORI_NAME |
+--------+----------+
| 1 | US |
| 2 | CA |
| 3 | MX |
+--------+----------+
टेबल स्टॉक
01,235,+--------+--------+-------------------+
|Stock_ID| ORI_ID | Stock_TITLE |
+--------+--------+-------------------+
| 1 | 1 | P1 |
| 2 | 2 | P3 |
| 3 | 3 | Q4 |
| 4 | 3 | B3 |
+--------+--------+-------------------+
तालिका परिणाम
+-----------+---------+---------+------------+------------+
| RESULT_ID | FARM_ID | GATE_ID | FARM_VALUE | Score% |
+-----------+---------+---------+------------+------------+
| 1 | 7 | 1 | 333 | 100 |
| 2 | 8 | 1 | 825 | 100 |
| 3 | 6 | 1 | 455 | 40 |
| 4 | 6 | 2 | 536 | 0 |
| 5 | 6 | 3 | 617 | 0 |
| 6 | 6 | 4 | 698 | 100 |
| 7 | 6 | 5 | 779 | 0 |
| 8 | 6 | 6 | 860 | 10 |
| 9 | 4 | 1 | 540 | 100 |
| 10 | 4 | 2 | 550 | 90 |
| 11 | 4 | 3 | 560 | 0 |
| 12 | 4 | 4 | 570 | 100 |
| 13 | 4 | 5 | 580 | 10 |
| 14 | 4 | 6 | 590 | 0 |
| 15 | 5 | 1 | 1080 | 0 |
| 16 | 5 | 2 | 1100 | 0 |
| 17 | 5 | 3 | 1120 | 0 |
| 18 | 5 | 4 | 1140 | 50 |
| 19 | 5 | 5 | 1160 | 0 |
| 20 | 5 | 6 | 1180 | 100 |
| 21 | 3 | 1 | 11 | 100 |
| 22 | 10 | 1 | 98 | 90 |
| 23 | 2 | 1 | 202 | 100 |
+-----------+---------+---------+------------+------------+
एनोटेट परिणाम तालिका: वही जैसा कि ऊपर^
+-----------+---------+---------+------------+------------+
| RESULT_ID | FARM_ID | GATE_ID | FARM_VALUE | Score% |
+-----------+---------+---------+------------+------------+
+-----------+---------+---------+------------+------------+
| 1 | 7 | 1 | 333 | 100 | <--|H-Case {H}
+-----------+---------+---------+------------+------------+
+-----------+---------+---------+------------+------------+
| 2 | 8 | 1 | 825 | 100 | <--|M-Case {M}
+-----------+---------+---------+------------+------------+
+-----------+---------+---------+------------+------------+
| 3 | 6 | 1 | 455 | 40 |
| 4 | 6 | 2 | 536 | 0 |
| 5 | 6 | 3 | 617 | 0 |
| 6 | 6 | 4 | 698 | 100 | <--|L
| 7 | 6 | 5 | 779 | 0 | |
| 8 | 6 | 6 | 860 | 10 | |
+-----------+---------+---------+------------+------------+ |
| 9 | 4 | 1 | 540 | 100 | |
| 10 | 4 | 2 | 550 | 90 | |
| 11 | 4 | 3 | 560 | 0 | |
| 12 | 4 | 4 | 570 | 100 | <--+M-case {H,M,L}
| 13 | 4 | 5 | 580 | 10 | |
| 14 | 4 | 6 | 590 | 0 | |
+-----------+---------+---------+------------+------------+ |
| 15 | 5 | 1 | 1080 | 0 | |
| 16 | 5 | 2 | 1100 | 0 | |
| 17 | 5 | 3 | 1120 | 0 | |
| 18 | 5 | 4 | 1140 | 50 | <--|H
| 19 | 5 | 5 | 1160 | 0 |
| 20 | 5 | 6 | 1180 | 100 |
+-----------+---------+---------+------------+------------+
+-----------+---------+---------+------------+------------+
| 21 | 3 | 1 | 11 | 100 | <--|L
| 22 | 10 | 1 | 98 | 90 | <--+H-case {H,M,L}
| 23 | 2 | 1 | 202 | 100 | <--|M
+-----------+---------+---------+------------+------------+
संगणना आवश्यक:
- टाइप कर सकते हैं अधिकतर केवल तीन मान हैं: {एच, एम, एल};
- जब सभी मूल्यों मौजूद हैं, वे के रूप में पालन वर्गीकृत किया जाता है: एच = 70 एम = 20 एल = 10
सभी अद्वितीय casese
प्रकरण {एच, M} हैं: एच = 80 एम = 20
- प्रकरण {M, एल}: M = 60 एल = 40
- प्रकरण {एच, एल}: एच = 90 एल = 10
- प्रकरण {एच}: एच = 100
- प्रकरण {M }: एम = 100
- केस {एल}: एल = 100
- प्रकरण {एच, एम, एल}: एच = 70 एम = 20 एल के साथ कम से कम एक साथ = 10
अधिक विवरण
- केवल स्टॉक
GATE
, पूरी तरह से संतुष्ट 100 अंक अधिकतम- उदाहरण:
Q4
में 6के 3 सेट हैं; केवल एकGATE
सेट को संसाधित किया जाना चाहिए (एक स्कोर मौजूद है)। - वर्तमान बिंदु से संबंधित विशेष मामले के मुकाबले गुणा किया जाना चाहिए उदाहरण:
Q4
में मामला {एच, एम, एल} है जिसका अर्थ है एच = 70; एम = 20; एल यह (70 * 100%) + (20 * 50%) + (10 * 100%) में परिणाम = होगा = 10 90 (परिणाम तालिका टिप्पणियों को वापस ऊपर देखो) 2.
- उदाहरण:
- गेट पूरी तरह से संतुष्ट नहीं होने पर भी अंक को अभी भी माना जाना चाहिए और इसके लिए जिम्मेदार होना चाहिए।अर्जित MAX अंक वाले गेट को तब रखा जाना चाहिए जब कोई द्वार पूरी तरह से संतुष्ट न हो। (अधिक विवरण प्रदान करेगा समझा नहीं जा सका)
अगर हम तालिकाओं और डेटा की समझ बनाने के लिए एक प्रश्न प्रदर्शन करना ऐसा नीचे
+---------+-----------+---------------+-----------+---------+-----------+---------+
| Origin | Stock | Farm Title | Farm Value| Gate | Size | Score |
+---------+-----------+---------------+-----------+---------+-----------+---------+
| US | P1 | Perdue | 333 | 1 | H | 100 |
| US | P3 | Holstein | 825 | 1 | M | 100 |
| CA | Q4 | FarmOne | 455 | 1 | L | 40 |
| CA | Q4 | FarmOne | 536 | 2 | L | 0 |
| CA | Q4 | FarmOne | 617 | 3 | L | 0 |
| CA | Q4 | FarmOne | 698 | 4 | L | 100 |
| CA | Q4 | FarmOne | 779 | 5 | L | 0 |
| CA | Q4 | FarmOne | 860 | 6 | L | 10 |
| CA | Q4 | Beef Farm | 540 | 1 | H | 0 |
| CA | Q4 | Beef Farm | 550 | 2 | H | 90 |
| CA | Q4 | Beef Farm | 560 | 3 | H | 0 |
| CA | Q4 | Beef Farm | 570 | 4 | H | 100 |
| CA | Q4 | Beef Farm | 580 | 5 | H | 10 |
| CA | Q4 | Beef Farm | 590 | 6 | H | 0 |
| CA | Q4 | CattleOne | 1080 | 1 | M | 0 |
| CA | Q4 | CattleOne | 1100 | 2 | M | 0 |
| CA | Q4 | CattleOne | 1120 | 3 | M | 0 |
| CA | Q4 | CattleOne | 1140 | 4 | M | 50 |
| CA | Q4 | CattleOne | 1160 | 5 | M | 100 |
| CA | Q4 | CattleOne | 1180 | 6 | M | 0 |
| MX | B3 | Cow Mill | 11 | 1 | L | 100 |
| MX | B3 | Dotterers | 98 | 1 | H | 90 |
| MX | B3 | AgriZone | 202 | 1 | M | 100 |
+---------+-----------+---------------+-----------+---------+-----------+---------+
इच्छा परिणाम
+---------+-------------------+-------+
| Origin | Stock | score |
+---------+-------------------+-------+
| US | P1 | 100 |
| US | P3 | 100 |
| CA | Q4 | 90 |
| MX | B3 | 93 |
+---------+-------------------+-------+
दिखेगा
चूंकि origin
में stock
है जिसमें 3 अलग farms
और farms
में 6 gates
प्रत्येक हैं। जब तक एक gate
-set (संख्यात्मक रूप से मिलान gates
) कुछ मूल्य पर स्कोर किया जाता है, हम पूरी तरह से STOCK
को पूरी तरह से देख सकते हैं। यही एक रास्ता है एक stock
इसके अलावा 100
माना जा सकता है और दोहराया है, STOCK
Q4 मामला: {एच, एम, एल} और gate (4)
के सभी कुछ हद तक मिला था। gate
4 में स्कोर (100% * एच) + (50% * एम) + (100% * एल) है जो बराबर (70 * 100%) + (20 * 50%) + (0 * 100%) = 90
इसलिए: (ऊपर से लिया)
| CA | Q4 | 90 |
QED
तो क्या मैं सबक्वेरी/सबसिलेक्ट पैदा कर रही है इस गणना के काम करने करने के लिए के साथ मदद की जरूरत है। मैंने उपरोक्त परिदृश्य में सबकुछ स्थापित किया है (नीचे एक क्वेरी के साथ जिसमें मैं काम कर रहा हूं) नीचे दिए गए एसक्यूएल फीड लिंक में।
धन्यवाद बहुत स्टैकओवरफ्लो समुदाय।
> The above problem in SqlFiddle can be found here <
आपको किस समस्या का सामना करना पड़ रहा है? आपने सबक्वायरी क्यों इंगित की? – Randy
होमवर्क की तरह दिखता है। – Crontab
@Randy यह परिणाम तालिका के किसी प्रकार का सबक्वायरी होगा क्योंकि सभी जानकारी वहां से खींची जानी चाहिए। वांछित परिणाम – stackoverflow