กระทู้เก่าบอร์ด อ.Yeadram
1,220 5
URL.หัวข้อ /
URL
การสร้าง query make table
ขอรบกวนสอบถามเรื่องการสร้างtable Temp โดยการ Query Make table
ซึ่งในผมมีอยู่ 2 table คือ tb1 และ tb2
ต้องการสร้าง tbTemp โดย field ที่ 1-3 นำมาจาก tb1
และ field ที่ 4 นำมาจาก tb2:Fmonth
โดยคิดจาก tb1:field3 ว่าอยู่ในช่วงเวลาไหนของ tb2 stDate และ EndDate
tb1
field1 field2 field3
a a 28/12/2012
b b 29/01/2013
c c 15//02/2013
d d 15/03/2013
tb2
Fmonth stDate EndDate
Jan'13 25/12/2012 25/01/2013
Feb'13 26/01/2013 28/02/2013
Mar'13 29/02/2013 26/03/2013
tbTemp
field1 field2 field3 field4(tb2:Fmonth)
a a 01/01/2013 Jan'13
b b 29/01/2013 Feb'13
c c 15/02/2013 Feb'13
d d 15/03/2013 Mar'13
ถ้าให้ข้อมูลงง ๆ ยังไงต้องขออภัยด้วยนะครับ
ซึ่งในผมมีอยู่ 2 table คือ tb1 และ tb2
ต้องการสร้าง tbTemp โดย field ที่ 1-3 นำมาจาก tb1
และ field ที่ 4 นำมาจาก tb2:Fmonth
โดยคิดจาก tb1:field3 ว่าอยู่ในช่วงเวลาไหนของ tb2 stDate และ EndDate
tb1
field1 field2 field3
a a 28/12/2012
b b 29/01/2013
c c 15//02/2013
d d 15/03/2013
tb2
Fmonth stDate EndDate
Jan'13 25/12/2012 25/01/2013
Feb'13 26/01/2013 28/02/2013
Mar'13 29/02/2013 26/03/2013
tbTemp
field1 field2 field3 field4(tb2:Fmonth)
a a 01/01/2013 Jan'13
b b 29/01/2013 Feb'13
c c 15/02/2013 Feb'13
d d 15/03/2013 Mar'13
ถ้าให้ข้อมูลงง ๆ ยังไงต้องขออภัยด้วยนะครับ
5 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R18228
select tb1.field1, tb1.field2, tb1.field3, (select tb2.Fmonth from tb2 where tb1.field3 between tb2.stDate and tb2.EndDate) as field4 into tbTemp from tb1
2 @R18241
ขอรบกวนสอบถามต่อได้ไหมครับ
ถ้าอยากแค่ Query เฉยๆ ให้เป็น
field1 field2 field3 Fmonth
a a 28/12/2012 Jan'13
ไม่ทราบว่าต้องทำวิธีไหนครับ
ถ้าอยากแค่ Query เฉยๆ ให้เป็น
field1 field2 field3 Fmonth
a a 28/12/2012 Jan'13
ไม่ทราบว่าต้องทำวิธีไหนครับ
3 @R18242
ตัดคำว่า into tbTemp ออกครับ
4 @R18254
"AT MOST ONE RECORD CAN BE RETURNED BY THIS SUBQUERY"
อาจารย์ครับ ถ้ามันขึ้นแบบนี้ ต้องแก้ไขยังไงครับ
อาจารย์ครับ ถ้ามันขึ้นแบบนี้ ต้องแก้ไขยังไงครับ
5 @R18255
ลองเปลี่ยน where tb1.field3 between tb2.stDate and tb2.EndDate
เป็น where (tb1.field3 >= tb2.stDate) and (tb1.field3 <= tb2.EndDate)
แต่ถ้ายังมี error แบบเดิมอีก ก็แปลว่า tb2 มีข้อมูลของวันที่ในต่างเรคอร์ดเหลื่อมกันอยู่ เช่น 1/1/2014 - 31/1/2014 และอีกเรคอร์ดเป็น 31/1/2014 - 28/2/2014
เป็น where (tb1.field3 >= tb2.stDate) and (tb1.field3 <= tb2.EndDate)
แต่ถ้ายังมี error แบบเดิมอีก ก็แปลว่า tb2 มีข้อมูลของวันที่ในต่างเรคอร์ดเหลื่อมกันอยู่ เช่น 1/1/2014 - 31/1/2014 และอีกเรคอร์ดเป็น 31/1/2014 - 28/2/2014
Time: 0.3490s