 |
|
ต้องการ select จากตาราง 1 ตารางที่ทำการ sum ข้อมูลตามรหัส แล้วนำค่าที่ได้ไปใส่ตารางที่ 2 ตามคอลัมน์ที่กำหนดคะ |
|
 |
|
|
 |
 |
|
ที่บอกว่าเอาไปใส่คือ insert เข้าไปหรือปล่าวครับ
หรือว่ามี query อีกอัน แล้วอยากได้ ค่า ไปใช้ใน query
|
 |
 |
 |
 |
Date :
2015-05-25 09:17:06 |
By :
fonfire |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Insertเข้าไปเลยคะ
ไม่ทราบว่าแบบไหนดีกว่ากันคะ
พอดีพึ่งหัดเขียนค่ะ เลยยังไม่ค่อยเข้าใจ
|
 |
 |
 |
 |
Date :
2015-05-25 10:41:14 |
By :
Preeyapan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (SQL)
INSERT INTO tablename(column1,column2)
SELECT nisit_id , SUM(score_etc) FROM testSend
WHERE resub_id = '12345'
GROUP BY nisit_id
อย่าลืมเปลี่ยนชื่อ tablename กับ column1 , column2 ครับ

|
 |
 |
 |
 |
Date :
2015-05-25 11:16:00 |
By :
01000010 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
insert ไม่ได้คะ ไม่ทราบว่าเกี่ยวกับอะไรคะ

|
 |
 |
 |
 |
Date :
2015-05-25 21:16:40 |
By :
Preeyapan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
นำค่ามาใส่ตารางนี้คะที่ คอลัมน์ homework_score
โดยที่คอลัมน์ resub_id และ nisit_id มีข้อมูลก่อนหน้านี้แล้วคะ
|
 |
 |
 |
 |
Date :
2015-05-25 21:19:48 |
By :
Preeyapan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แบบนี้ต้องทำเป็นการ update แทนหรือเปล่าค่ะ
|
 |
 |
 |
 |
Date :
2015-05-25 21:46:43 |
By :
Preeyapan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
สามารถ หาผลรวมได้แล้วคะ แต่ไม่สามารถนำค่าไป Update อีกตารางได้
|
 |
 |
 |
 |
Date :
2015-05-25 22:18:01 |
By :
Preeyapan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
#NO5 Error ก็บอกอยู่ครับ ไม่อนุญาติให้เพิ่มค่า NULL ในคอลัมป์ resub_id ตาราง Table_1
วิธีแก้ก็ไปตั้งค่าตารางให้คอลัมป์นั้นเก็บ NULL ได้ หรือ กำหนดค่าให้มันไม่ NULL ตอน INSERT SELECT ครับ
เช่น
Code (SQL)
INSERT INTO Table_1(nisit_id,resub_id,homework_score)
SELECT nisit_id , resub_id , SUM(score_etc) FROM Table_2
WHERE resub_id = '12345'
GROUP BY nisit_id

|
 |
 |
 |
 |
Date :
2015-05-25 23:07:26 |
By :
01000010 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลอง insert ลงไปแล้วค่า ค่าจะไปต่อเป็นแถวใหม่ ไม่ได้ update ตามรหัสนิสิตเดิมที่มีอยู่
คืออยากนำค่าผลรวมที่ sum ได้ไปใส่คอลัมน์ homework_score ใน Table_1 ตาม nisit_id , resub_id ที่มีอยู่แล้วคะ
รบกวนหน่อยนะคะ...ขอบคุณคะ
|
 |
 |
 |
 |
Date :
2015-05-26 20:28:27 |
By :
Preeyapan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ยังไม่ค่อย เข้าใจเลยคะ พอดีพึ่งหันเขียน ไม่ทราบว่าตรง tmp คืออะไรคะ
รบกวนหน่อยนะคะ ขอบคุณคะ
|
 |
 |
 |
 |
Date :
2015-05-28 20:57:07 |
By :
Preeyapan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|

|
 |
 |
 |
 |
Date :
2015-05-28 21:00:39 |
By :
Preeyapan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
update Table_1
set Table_1.homework_score = tmp.sum_score
from
Table_1
inner join (
select nisit_id, sum(score_etc) as sum_score ,resub_id
from table_2 group by nisit_id
) as tmp
on tmp.resub_id = table_1.resub_id and tmp.nisit_id = Table_1.nisit_id
แก้เป็นแบบนี้แล้วก้อยังไม่ได้เลยคะ
|
 |
 |
 |
 |
Date :
2015-05-28 21:22:38 |
By :
Preeyapan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ได้แล้วคะ แล้วถ้าต้องการให้ where ตาม resub_id ที่เราเลือกไม่ทราบว่าจะต้องใส่ where ไว้ตรงไหนคะ
ขอบคุณคะ
|
 |
 |
 |
 |
Date :
2015-05-28 21:24:22 |
By :
Preeyapan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
whee ....... ต่อท่้ายไปแลยครับ
|
 |
 |
 |
 |
Date :
2015-05-29 07:33:37 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ทำได้แล้วยินดีด้วยครับ แต่ช่วยเอาโค๊ดที่ทำได้แล้ว มาบอกคนอื่นๆ ด้วยจะดีมากเลยครับ
ให้เป็นวิทยาทานกับคนอื่นต่อๆไปครับ ได้บุญด้วย
|
 |
 |
 |
 |
Date :
2015-05-29 07:40:48 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|