2012-06-12 10 views
10

में 'चयन' का उपयोग कैसे करें मैं एक तालिका में अतिरिक्त पंक्तियां डालने का प्रयास कर रहा हूं जिसके लिए किसी अन्य तालिका से एक मूल्य पुनर्प्राप्त करने की आवश्यकता है।MySQL 'insert' कथन

insert into a.grades (rollno, grade) 
values(select rollno from b.students where ssn=12345, 'A'); 

b.students तालिका की संरचना rollno, ssn, name है: नीचे एक उदाहरण क्वेरी है।

मुझे पता था कि उपरोक्त क्वेरी गलत है। पंक्ति डालने के दौरान अन्य तालिका से 1 मान पुनर्प्राप्त करने का कोई तरीका है? डालने में

+0

मैं इसे करने की कोशिश की चयन कथन के आसपास paranthesis के बिना। अब मैं इसे जोड़कर मिला()। – user1074122

उत्तर

30
INSERT INTO a.grades (rollno, grade) 
    SELECT rollno, 'A' FROM b.students WHERE ssn = 12345; 

कुछ डीबीएमएस निम्नलिखित, SELECT कथन के आसपास कोष्ठक की एक अतिरिक्त सेट के साथ स्वीकार करेंगे:

INSERT INTO a.grades (rollno, grade) 
    VALUES((SELECT rollno FROM b.students WHERE ssn = 12345), 'A'); 
+1

इसे आपकी दूसरी क्वेरी से मिला। धन्यवाद – user1074122

3

कॉलम में और चुनें बराबर होना चाहिए

insert into grades (field1, field2) 
select field1,field2 from students where ssn=12345; 
संबंधित मुद्दे