2013-10-17 14 views
11

मैं निम्न तालिका है:न्यूनतम मूल्य का चयन करें

  Table1       Table2   
CardNo ID Record Date   ID Name  Dept  
1  101 8.00 11/7/2013  101 Danny  Green 
2  101 13.00 11/7/2013  102 Tanya  Red 
3  101 15.00 11/7/2013  103 Susan  Blue  
4  102 11.00 11/7/2013  104 Gordon Blue  
5  103 12.00 11/7/2013     
6  104 12.00 11/7/2013     
7  104 18.00 11/7/2013     
8  101 1.00 12/7/2013     
9  101 10.00 12/7/2013     
10  102 0.00 12/7/2013     
11  102 1.00 12/7/2013     
12  104 3.00 12/7/2013     
13  104 4.00 12/7/2013 

मैं चाहता हूँ परिणाम इस तरह होने के लिए:

Name Dept Record 
Danny Green 8.00 
Tanya Red  11.00 
Susan Blue 12.00 
Gordon Blue 18.00 

जहां परिणाम केवल दिखाया जा रहा है प्रत्येक "नाम" के लिए "रिकॉर्ड" का न्यूनतम मान, और चयनित तिथि से फ़िल्टर किया गया। मैं एसक्यूएल का उपयोग कर रहा हूँ।

+0

तालिका से न्यूनतम (रिकॉर्ड) चुनें जहां दिनांक = 'wateverdate' समूह नाम से है? – zxc

उत्तर

17

उपयोग:

select t2.Name, t2.Dept, min(t1.Record) 
from table1 t1 
join table2 t2 on t2.ID = t1.ID 
group by t2.ID, t2.Name, t2.Dept 

या

select t2.Name, t2.Dept, a.record 
from table2 t2 
join 
(
    select t1.ID, min(t1.Record) [record] 
    from table1 t1 
    group by t1.ID 
)a 
on a.ID = t2.ID 

क्वेरी फ़िल्टर करने के लिए, where खंड जोड़ने, उदा .:

select t2.Name, t2.Dept, min(t1.Record) 
from table1 t1 
join table2 t2 on t2.ID = t1.ID 
where t1.Date = '11/7/2013' 
group by t2.ID, t2.Name, t2.Dept 
+2

सही ढंग से पोस्ट करने वाला पहला व्यक्ति। –

1

प्रयास करें:

Select 
    b.Name, 
    b.Dept, 
    MIN(Record) Record 
from 
    Table1 a join Table2 b on a.ID=b.ID 
GROUP BY b.Name, 
    b.Dept 
+0

ओपी ने MIN के लिए पूछा, एसयूएम नहीं। –

+1

@Doug_Ivison हाँ! माफ़ कीजिये। धन्यवाद – TechDo

+0

किरिल, क्या आप संभवतः केवल 'तारीख' चुनने के लिए कुछ और वाक्यविन्यास जोड़ सकते हैं? उदाहरण: जहां दिनांक = '11/7/2013 ' – wood

0
select 
     b.Name, 
     b.Dept, 
     min(a.Record) 
from Table1 a,Table2 b 
where 
     a.ID=b.ID 
group by 
     a.Record 
+1

समूह द्वारा समेकित कार्यों में * नहीं * कॉलम होते हैं, इसलिए: 'समूह द्वारा b.Name, b.Dept' –

संबंधित मुद्दे