ผู้เขียน หัวข้อ: การ Select ข้อมูลลง Temp Table  (อ่าน 19583 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ ARMIN

  • Full Member
  • ***
  • กระทู้: 209
  • ศึกษาต่อไป คงทำเองได้ซักวัน
  • Respect: 0
    • ดูรายละเอียด
    • kaphohospital
การ Select ข้อมูลลง Temp Table
« เมื่อ: กันยายน 15, 2010, 13:58:46 PM »
0
จะ Select ข้อมูลจาก table มาไว้ใน Temp Table โดยที่ไม่ต้อง Create Table นั่้นล่วงหน้า
มีวิธีการ หรือป่าวครับ

รบกวน แนะนำด้วยครับ
ขอบคุณครับ ...
โรงพยาบาลกะพ้อ จ.ปัตตานี ขึ้นระบบ 01/04/2550
Server HP ProLiant ML110 G6
Cent Os 5.3, MySQL Percona , Xeon 2.33 GHz./1333 MHz., Ram 8 G., SATA II 360 Gb.
minmah2006@hotmail.com
http://www.programmerhero.net

ออฟไลน์ เกื้อกูล ครับ..

  • Hero Member
  • *****
  • กระทู้: 12,611
  • Respect: +169
    • ดูรายละเอียด
    • โรงพยาบาลปากท่อ
Re: การ Select ข้อมูลลง Temp Table
« ตอบกลับ #1 เมื่อ: กันยายน 15, 2010, 14:28:41 PM »
0
select สด แล้วก็ export เป็น file ตามที่ต้องการไปเลยงัยครับ..แต่จะไม่ได้อยู่ใน hos database ... :D
Implement  HOSxP  Start 2548 ---> NOW!
Station : 130 Client   V.3 Version  3.67.1.XX
Server  : CENTOS  +MySQL maria 10.x.x

doramon

  • บุคคลทั่วไป
Re: การ Select ข้อมูลลง Temp Table
« ตอบกลับ #2 เมื่อ: กันยายน 15, 2010, 14:29:10 PM »
0
จะ Select ข้อมูลจาก table มาไว้ใน Temp Table โดยที่ไม่ต้อง Create Table นั่้นล่วงหน้า
มีวิธีการ หรือป่าวครับ

รบกวน แนะนำด้วยครับ
ขอบคุณครับ ...

มีครับแต่ว่าเขาเรียกว่า tables views

ออฟไลน์ Khuad

  • Hero Member
  • *****
  • กระทู้: 3,778
  • .. นางฟ้า ตัวไม่น้อยแล้ว ..
  • Respect: +10
    • ดูรายละเอียด
Re: การ Select ข้อมูลลง Temp Table
« ตอบกลับ #3 เมื่อ: กันยายน 15, 2010, 14:33:58 PM »
0

... ขอบคุณครับ อ.อ๊อด  เดี๋ยวต้องลองศึกษาดู  ...  :D ...
โรงพยาบาลวังน้อย   พระนครศรีอยุธยา ( รพช.30 เตียง )
Server : ProLiant DL120G6  Xeon X3450  RDIMM 12 Gb  2x256GB SSD Raid 1
OS : CentOS 6.3  DB : Percona 5.5.21

Slave : ProLiant ML110G6  Xeon X3430  UDIMM 8 Gb  2x300GB SAS Raid 1
OS : CentOS 6.3  DB : Percona 5.5.32

HOSxP version  3.57.xx.xx    เริ่มระบบ  เมษายน 2549

ออฟไลน์ Multithreading

  • Sr. Member
  • ****
  • กระทู้: 388
  • หน่วยควบคุมโรคนำโดยแมลง(de-buger)
  • Respect: 0
    • ดูรายละเอียด
    • Android4Health
Re: การ Select ข้อมูลลง Temp Table
« ตอบกลับ #4 เมื่อ: กันยายน 15, 2010, 15:02:07 PM »
0
DROP TABLE IF EXISTS tb_temp;
CREATE TABLE IF NOT EXISTS tb_temp SELECT * from oringin_tb; //ใช้  where ต่อท้ายก็ได้

หรือ ถ้าต้องการ สร้าง view ก็

CREATE OR REPLACE  VIEW  v_tbname  AS  SELECT *  FROM oringin_tb; //ใช้  where ได้เหมือนกัน

 SELECT *  FROM  v_tbname;
« แก้ไขครั้งสุดท้าย: กันยายน 15, 2010, 15:04:33 PM โดย Multithreading »

สอนเขียน Android และ GIS


นักวิชาการสาธารณสุขปฏิบัติการ in พิษณุโลก

https://www.facebook.com/Android4Health

My Projects in HosXP field.
SurveyTool Android App
HealthPlace  Android App
HosOnDroid  Android App

============================

ออฟไลน์ Svl2Nuk3

  • Hero Member
  • *****
  • กระทู้: 793
  • Respect: 0
    • ดูรายละเอียด
Re: การ Select ข้อมูลลง Temp Table
« ตอบกลับ #5 เมื่อ: กันยายน 15, 2010, 15:19:54 PM »
0
ใช้ Views  ก็สะดวกดีเหมือนกันนะครับ
ลองเอาตัวอย่างนี้ไปเล่นดูก็ได้ครับ


พิมพ์ Code
โค๊ด: [Select]
create view pt_view as
select p.hn,concat(p.pname,p.fname,"  ",p.lname) as ptname,p.pttype,p.occupation,pt.name as pttype_name,o.name as occupation_name
from patient  p
left outer join pttype pt on pt.pttype = p.pttype
left outer join occupation o on o.occupation=p.occupation
limit 10
กด Exec


พิมพ์ Code
โค๊ด: [Select]
select * from pt_view
กด Run
I'm nuke (นุ๊ก)
My Blog  : http://www.codenuke.net
อดีต นวก.คอมฯ รพช.พรหมพิราม => 1 พ.ค. 52 - 30 ก.ย. 54
ปัจจุบัน : Software Engineer บริษัทแห่งหนึ่ง

ออฟไลน์ ARMIN

  • Full Member
  • ***
  • กระทู้: 209
  • ศึกษาต่อไป คงทำเองได้ซักวัน
  • Respect: 0
    • ดูรายละเอียด
    • kaphohospital
Re: การ Select ข้อมูลลง Temp Table
« ตอบกลับ #6 เมื่อ: กันยายน 15, 2010, 16:26:45 PM »
0
 :D ขอบคุณครับ  ;D
โรงพยาบาลกะพ้อ จ.ปัตตานี ขึ้นระบบ 01/04/2550
Server HP ProLiant ML110 G6
Cent Os 5.3, MySQL Percona , Xeon 2.33 GHz./1333 MHz., Ram 8 G., SATA II 360 Gb.
minmah2006@hotmail.com
http://www.programmerhero.net

ออฟไลน์ ARMIN

  • Full Member
  • ***
  • กระทู้: 209
  • ศึกษาต่อไป คงทำเองได้ซักวัน
  • Respect: 0
    • ดูรายละเอียด
    • kaphohospital
Re: การ Select ข้อมูลลง Temp Table
« ตอบกลับ #7 เมื่อ: กันยายน 15, 2010, 16:28:31 PM »
0

ขอบคุณ ทุกท่านมากๆ นะครับ
โรงพยาบาลกะพ้อ จ.ปัตตานี ขึ้นระบบ 01/04/2550
Server HP ProLiant ML110 G6
Cent Os 5.3, MySQL Percona , Xeon 2.33 GHz./1333 MHz., Ram 8 G., SATA II 360 Gb.
minmah2006@hotmail.com
http://www.programmerhero.net

ออฟไลน์ ARMIN

  • Full Member
  • ***
  • กระทู้: 209
  • ศึกษาต่อไป คงทำเองได้ซักวัน
  • Respect: 0
    • ดูรายละเอียด
    • kaphohospital
Re: การ Select ข้อมูลลง Temp Table
« ตอบกลับ #8 เมื่อ: กันยายน 15, 2010, 16:36:08 PM »
0

มันไม่ค่อย ตรงกับที่จะใ้ช้ อ่ะครับ

ผมจะทำประมาณนี้ครับ
เ่ช่น
select * from person where house_id = 5 //-- แล้วก็ เอาไว้ใน TempTable
เหมือนกับ insert into #TempTable ใน SQL Server ครับ

แล้่วที่นี้ เอา Temp มาใช้งานต่อ ครับ เช่น
select * from TempTable

ประมาณนี้ครับ
ขอบคุณอีกครั้ง ครับ
โรงพยาบาลกะพ้อ จ.ปัตตานี ขึ้นระบบ 01/04/2550
Server HP ProLiant ML110 G6
Cent Os 5.3, MySQL Percona , Xeon 2.33 GHz./1333 MHz., Ram 8 G., SATA II 360 Gb.
minmah2006@hotmail.com
http://www.programmerhero.net

ออฟไลน์ [-_เอ็ม_-]

  • Hero Member
  • *****
  • กระทู้: 1,472
  • [-- Developer มือใหม่ --]
  • Respect: +3
    • ดูรายละเอียด
    • โรงพยาบาลบรบือ
Re: การ Select ข้อมูลลง Temp Table
« ตอบกลับ #9 เมื่อ: กันยายน 15, 2010, 17:46:17 PM »
0
คือการทำ View ใช่มั๊ยครับ คือไม่ได้แสดงจากตารางโดยตรง
แต่เป็นการเอาผลลัพธ์จาก Query ที่ได้ มาสร้าง View ให้ User
ดูใช่มั๊ยท่าน ผมเข้าใจถูกต้องมั๊ย   ;D
###### [- นิวัฒน์ <M> นัดสถาพร -] ######
   << นักวิชาการคอมพิวเตอร์ รพ.บรบือ >>
<< Rajabhat Mahasarakham University >>
------------------------------------------------------------------------------

ออฟไลน์ udomchok

  • Hero Member
  • *****
  • กระทู้: 8,347
  • Respect: +589
    • ดูรายละเอียด
    • ร.พ.สมเด็จพระสังฆราช องค์ที่ 17
Re: การ Select ข้อมูลลง Temp Table
« ตอบกลับ #10 เมื่อ: กันยายน 15, 2010, 17:48:16 PM »
0
มันไม่ค่อย ตรงกับที่จะใ้ช้ อ่ะครับ
อย่างนี้ตรงไหมครับ
select temp.vstdate,
case
     when time_to_sec(temp.wait_time)<300 then "01|<5min"
     when time_to_sec(temp.wait_time)<601 then "02|5-10min"
     when time_to_sec(temp.wait_time)<1201 then "03|>10-20min"
     when time_to_sec(temp.wait_time)<1801 then "04|>20-30min"
     when time_to_sec(temp.wait_time)<2401 then "05|>30-40min"
     when time_to_sec(temp.wait_time)<3001 then "06|>40-50min"
     when time_to_sec(temp.wait_time)<3601 then "07|>50-60min"
     when time_to_sec(temp.wait_time)<7201 then "08|>1-2hr"
     when time_to_sec(temp.wait_time)<10801 then "09|>2-3hr"
     else "10|>3hr"
end as wait_range, count(vn)
from
(select o.vstdate, o.vn, o.hn, o.oqueue, concat(p.pname,p.fname,' ',p.lname) as ptname, o.vsttime, t.service11, t.service12, t.service6, t.service19, r.rx_time, t.service16,
if(t.service12 is not null,sec_to_time(time_to_sec(r.rx_time)-time_to_sec(t.service12)),if(t.service19 is not null,sec_to_time(time_to_sec(r.rx_time)-time_to_sec(t.service19)),sec_to_time(time_to_sec(r.rx_time)-time_to_sec(t.service11)))) as wait_time
from rx_operator r
left outer join ovst o on o.vn=r.vn
left outer join patient p on p.hn=o.hn
left outer join service_time t on t.vn=r.vn
where o.vstdate between "2010-09-01" and "2010-09-14" and r.pay='Y' and r.pay_depcode="036"
order by r.rx_time) as temp
group by temp.vstdate, wait_range

http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=17347.msg140821#new
ทำด้วยหัวใจร.พ.สมเด็จพระสังฆราช องค์ที่ 17 อ.สองพี่น้อง จ.สุพรรณบุรี
อบรมโดย BMS Team เมื่อ พ.ย. 49 ขึ้นระบบห้องบัตรเมื่อ X'Mas 2007
2008 : X-Ray กายภาพบำบัด แพทย์แผนไทย กิจกรรมบำบัด OPD ตา
2009 : ทันตกรรม ห้องตรวจตา OPD (พยาบาลและห้องตรวจแพทย์บางห้อง)

ออฟไลน์ ARMIN

  • Full Member
  • ***
  • กระทู้: 209
  • ศึกษาต่อไป คงทำเองได้ซักวัน
  • Respect: 0
    • ดูรายละเอียด
    • kaphohospital
Re: การ Select ข้อมูลลง Temp Table
« ตอบกลับ #11 เมื่อ: กันยายน 16, 2010, 11:13:29 AM »
0
ตอบคุณเอ็ม ครับ ... การใช้งานมัน ไม่ค่อยจะตรง view มันจะรวมตาราง เป็นอีก view 
แต่ที่ผมอยากจะทำมัน เป็นการ Select แล้วเอา Data มาไว้ใน Table ที่เป็น temp ครับ แทนที่จะออกมาแสดง ใน Grid ของโปรแรกม Navicat มันสามารถที่จะเอามา ใช่งานต่อได้ครับ แบบว่า ผมต้องการ Select ที่ต้องการออกมาไว้ใน Temp ตัวนี้ครับก่อน ครับ แล้วหลังจากนั้น ก็ค่อยไป Join กับ Table อื่นๆ ต่อ ครับ -*- ไมรุ้ งง ป่าว ..

ตอบคุณ udomchok concept ใช่เลย ครบั
ตอนนี้ ผมก็ select โดยใช้ Nested Query ครับ แต่คือมัน หลาย ตารางครับ
เยอะๆ เข้ามันเริ่มงง ครับ ถ้่าเป็นไปได้ อยากจะเอา Data จาก Nested Query มาไว้ใน Temp ก่อนครับ

แล้วค่อย เอามา Join ใช้งาน Table อื่นๆ ครับ  :)

ขอบคุณทุกท่าน มากๆ นะครับ ที่่ให้คำแนะนำ
โรงพยาบาลกะพ้อ จ.ปัตตานี ขึ้นระบบ 01/04/2550
Server HP ProLiant ML110 G6
Cent Os 5.3, MySQL Percona , Xeon 2.33 GHz./1333 MHz., Ram 8 G., SATA II 360 Gb.
minmah2006@hotmail.com
http://www.programmerhero.net

ออฟไลน์ chk

  • Hero Member
  • *****
  • กระทู้: 1,949
  • Respect: +2
    • ดูรายละเอียด
Re: การ Select ข้อมูลลง Temp Table
« ตอบกลับ #12 เมื่อ: กันยายน 16, 2010, 12:45:41 PM »
0
 8)  เก็บมารวบรวม แล้วจะเขียนไปเป็นตำรา อิอิ   ???
8) ........ {O.*} ............   8)
8) ...KUMPANGSEAN  HOSXP  SYSTEM...   8) Office  Station ::  Kumpangsan Hospital  Nakhon Pathom
 System  Running :: 01/01/2010

ออฟไลน์ Multithreading

  • Sr. Member
  • ****
  • กระทู้: 388
  • หน่วยควบคุมโรคนำโดยแมลง(de-buger)
  • Respect: 0
    • ดูรายละเอียด
    • Android4Health
Re: การ Select ข้อมูลลง Temp Table
« ตอบกลับ #13 เมื่อ: กันยายน 16, 2010, 13:23:03 PM »
0
ตอบคุณเอ็ม ครับ ... การใช้งานมัน ไม่ค่อยจะตรง view มันจะรวมตาราง เป็นอีก view 
แต่ที่ผมอยากจะทำมัน เป็นการ Select แล้วเอา Data มาไว้ใน Table ที่เป็น temp ครับ แทนที่จะออกมาแสดง ใน Grid ของโปรแรกม Navicat มันสามารถที่จะเอามา ใช่งานต่อได้ครับ แบบว่า ผมต้องการ Select ที่ต้องการออกมาไว้ใน Temp ตัวนี้ครับก่อน ครับ แล้วหลังจากนั้น ก็ค่อยไป Join กับ Table อื่นๆ ต่อ ครับ -*- ไมรุ้ งง ป่าว ..

ตอบคุณ udomchok concept ใช่เลย ครบั
ตอนนี้ ผมก็ select โดยใช้ Nested Query ครับ แต่คือมัน หลาย ตารางครับ
เยอะๆ เข้ามันเริ่มงง ครับ ถ้่าเป็นไปได้ อยากจะเอา Data จาก Nested Query มาไว้ใน Temp ก่อนครับ

แล้วค่อย เอามา Join ใช้งาน Table อื่นๆ ครับ  :)

ขอบคุณทุกท่าน มากๆ นะครับ ที่่ให้คำแนะนำ

VIEW  ทำได้ 100%   ตามที่คุณบอกมานั่นแหล่ะ

โจทย์ คือ คุณต้องการใช้ข้อมูลที่มีอยู่ใน Table หลักอยู่แล้ว
ผมไม่เห็นความจำเป็นใดๆ ที่คุณจะต้องสร้าง Table ซ้ำขึ้นมาอีก มันผิดหลักการ Normalization
View สามารถ Join กับ Table ได้  คุณเพียงแค่ นิยาม View ขึ้นมาครั้งเดียว  คุณก็สามารถใช้ View ได้
ได้ตลอดอายุ ของ Table ทุก Table ที่คุณใช้เพื่อนิยาม View

การนิยาม View ไม่จำกัดแค่ว่า 1 Table นิยามได้เพียง 1 View  แต่คุณสามารถนิยาม View 1 View จากหลายๆ Table ได้  ขอแค่ Table คุณมี Relation ต่อกันก็พอ


สอนเขียน Android และ GIS


นักวิชาการสาธารณสุขปฏิบัติการ in พิษณุโลก

https://www.facebook.com/Android4Health

My Projects in HosXP field.
SurveyTool Android App
HealthPlace  Android App
HosOnDroid  Android App

============================

ออฟไลน์ udomchok

  • Hero Member
  • *****
  • กระทู้: 8,347
  • Respect: +589
    • ดูรายละเอียด
    • ร.พ.สมเด็จพระสังฆราช องค์ที่ 17
Re: การ Select ข้อมูลลง Temp Table
« ตอบกลับ #14 เมื่อ: กันยายน 16, 2010, 13:33:18 PM »
0
ตอบคุณเอ็ม ครับ ... การใช้งานมัน ไม่ค่อยจะตรง view มันจะรวมตาราง เป็นอีก view 
แต่ที่ผมอยากจะทำมัน เป็นการ Select แล้วเอา Data มาไว้ใน Table ที่เป็น temp ครับ แทนที่จะออกมาแสดง ใน Grid ของโปรแรกม Navicat มันสามารถที่จะเอามา ใช่งานต่อได้ครับ แบบว่า ผมต้องการ Select ที่ต้องการออกมาไว้ใน Temp ตัวนี้ครับก่อน ครับ แล้วหลังจากนั้น ก็ค่อยไป Join กับ Table อื่นๆ ต่อ ครับ -*- ไมรุ้ งง ป่าว ..

ตอบคุณ udomchok concept ใช่เลย ครบั
ตอนนี้ ผมก็ select โดยใช้ Nested Query ครับ แต่คือมัน หลาย ตารางครับ
เยอะๆ เข้ามันเริ่มงง ครับ ถ้่าเป็นไปได้ อยากจะเอา Data จาก Nested Query มาไว้ใน Temp ก่อนครับ

แล้วค่อย เอามา Join ใช้งาน Table อื่นๆ ครับ  :)

ขอบคุณทุกท่าน มากๆ นะครับ ที่่ให้คำแนะนำ

ถูกใจกด Thank ครับ
ทำด้วยหัวใจร.พ.สมเด็จพระสังฆราช องค์ที่ 17 อ.สองพี่น้อง จ.สุพรรณบุรี
อบรมโดย BMS Team เมื่อ พ.ย. 49 ขึ้นระบบห้องบัตรเมื่อ X'Mas 2007
2008 : X-Ray กายภาพบำบัด แพทย์แผนไทย กิจกรรมบำบัด OPD ตา
2009 : ทันตกรรม ห้องตรวจตา OPD (พยาบาลและห้องตรวจแพทย์บางห้อง)

ออฟไลน์ Svl2Nuk3

  • Hero Member
  • *****
  • กระทู้: 793
  • Respect: 0
    • ดูรายละเอียด
Re: การ Select ข้อมูลลง Temp Table
« ตอบกลับ #15 เมื่อ: กันยายน 16, 2010, 15:46:16 PM »
0
ตอบคุณเอ็ม ครับ ... การใช้งานมัน ไม่ค่อยจะตรง view มันจะรวมตาราง เป็นอีก view 
แต่ที่ผมอยากจะทำมัน เป็นการ Select แล้วเอา Data มาไว้ใน Table ที่เป็น temp ครับ แทนที่จะออกมาแสดง ใน Grid ของโปรแรกม Navicat มันสามารถที่จะเอามา ใช่งานต่อได้ครับ แบบว่า ผมต้องการ Select ที่ต้องการออกมาไว้ใน Temp ตัวนี้ครับก่อน ครับ แล้วหลังจากนั้น ก็ค่อยไป Join กับ Table อื่นๆ ต่อ ครับ -*- ไมรุ้ งง ป่าว ..

ตอบคุณ udomchok concept ใช่เลย ครบั
ตอนนี้ ผมก็ select โดยใช้ Nested Query ครับ แต่คือมัน หลาย ตารางครับ
เยอะๆ เข้ามันเริ่มงง ครับ ถ้่าเป็นไปได้ อยากจะเอา Data จาก Nested Query มาไว้ใน Temp ก่อนครับ

แล้วค่อย เอามา Join ใช้งาน Table อื่นๆ ครับ  :)

ขอบคุณทุกท่าน มากๆ นะครับ ที่่ให้คำแนะนำ

VIEW  ทำได้ 100%   ตามที่คุณบอกมานั่นแหล่ะ

โจทย์ คือ คุณต้องการใช้ข้อมูลที่มีอยู่ใน Table หลักอยู่แล้ว
ผมไม่เห็นความจำเป็นใดๆ ที่คุณจะต้องสร้าง Table ซ้ำขึ้นมาอีก มันผิดหลักการ Normalization
View สามารถ Join กับ Table ได้  คุณเพียงแค่ นิยาม View ขึ้นมาครั้งเดียว  คุณก็สามารถใช้ View ได้
ได้ตลอดอายุ ของ Table ทุก Table ที่คุณใช้เพื่อนิยาม View

การนิยาม View ไม่จำกัดแค่ว่า 1 Table นิยามได้เพียง 1 View  แต่คุณสามารถนิยาม View 1 View จากหลายๆ Table ได้  ขอแค่ Table คุณมี Relation ต่อกันก็พอ




เห็นด้วยครับ  ถ้าเป็น Facebook  ผมกด Like  ให้เลย  อิอิ    ;D
I'm nuke (นุ๊ก)
My Blog  : http://www.codenuke.net
อดีต นวก.คอมฯ รพช.พรหมพิราม => 1 พ.ค. 52 - 30 ก.ย. 54
ปัจจุบัน : Software Engineer บริษัทแห่งหนึ่ง

ออฟไลน์ udomchok

  • Hero Member
  • *****
  • กระทู้: 8,347
  • Respect: +589
    • ดูรายละเอียด
    • ร.พ.สมเด็จพระสังฆราช องค์ที่ 17
Re: การ Select ข้อมูลลง Temp Table
« ตอบกลับ #16 เมื่อ: กันยายน 16, 2010, 16:10:39 PM »
0
เห็นด้วยครับ  ถ้าเป็น Facebook  ผมกด Like  ให้เลย  อิอิ    ;D
HOSxP ก็กด Thank แทนได้นะครับ
ทำด้วยหัวใจร.พ.สมเด็จพระสังฆราช องค์ที่ 17 อ.สองพี่น้อง จ.สุพรรณบุรี
อบรมโดย BMS Team เมื่อ พ.ย. 49 ขึ้นระบบห้องบัตรเมื่อ X'Mas 2007
2008 : X-Ray กายภาพบำบัด แพทย์แผนไทย กิจกรรมบำบัด OPD ตา
2009 : ทันตกรรม ห้องตรวจตา OPD (พยาบาลและห้องตรวจแพทย์บางห้อง)

ออฟไลน์ ARMIN

  • Full Member
  • ***
  • กระทู้: 209
  • ศึกษาต่อไป คงทำเองได้ซักวัน
  • Respect: 0
    • ดูรายละเอียด
    • kaphohospital
Re: การ Select ข้อมูลลง Temp Table
« ตอบกลับ #17 เมื่อ: กันยายน 17, 2010, 14:57:55 PM »
0


ตอบคุณ Multithreading น่ะครับ

ผมว่า view ไม่ได้เก็บข้อมูลนะครับ มันเป็นเหมือนกับ Adaptor ที่ Join Table หลายๆ Table ไว้ ให้เราไป Select จากมัน อีกครั้ง โดยมองมันเหมือนอีก Table

แต่ Temp Table มันจะเหมือนกับเป็นตัวแปร ที่เก็บข้อมูล ไม่ได้เป็น adpaptor สำหรับผ่านข้อมูลเหมือนview ฃ
และ Temp Table ไม่จำเป็นที่จะต้องส่ร้างมาก่อน สำหรับ Select into ได้เลย

concept การใช้งาน มันก็ไม่เหมือนกัน นะครับ

view Create ครั้งเดียว และจะอยู่ใน Database เลย ถ้าจะเปลี่ยน Structure ก็ต้องไป เปลี่ยนที่ตัว view

แต่ถ้าเป็น Temp Table เราสามารถ Select ข้อมูลไว้ใน Temp Table ต้องการแค่พักข้อมุลไว้ชั่วคราว ไม่จำเป็น ต้องสร้างมาก่อน ปิดหน้า Query  ตัว Temp มันก็หายไปครับ

มันเหมือนกับ comment ของคุณ udomchok อ่ะครับ
เพียงแต่ต้องการเปลี่ยน จาก nested query เป็น Temp Table แทน

ถ้าสำมุตว่า เปลี่ยนไปเป็นใช้ View เราก็ต้องไป Create มันอีก
ต้องเสียเวลากับ Define Fields ให้เหมือนกับที่เรา จะ Select มาครับ

และถ้าสมมุติ ว่า Nested query ที่ผมจะใช้ ประมาณสัก 10 Table
ก็ต้อง Create view 10 views และต้องคอยลบออก อีก เำพราะไม่ได้ใช้อีก ถ้าเป็น Temp Table ก็ใช้ได้เลยครับ
เพียงแต่ ไม่รุ้่ว่า มันทำงัย

พอดี ก่อนหน้านี้ เคยใช้ SQL Server มาครับ แล้วติดกับการใช้ Temp Table มันสะดวกสะบาย  และทำให้ไม่งง โค้ดตัวเองครับ

ส่วนเรื่องผิดหลักการ นั้นผมว่า มันก็ไม่น่าจะผิด นะครับ เพราะ Temp Table มันคือ Table เหมือนกัน Table จริงๆ ใน Database ครับ สามารถ เอา Fk มา Join กันได้ ตามปกติ เหมือนกับ Table จริงๆ ทุกประการ ครับ

ปล. ถ้าความเข้าใจของผมผิด งัยรบกวนแนะนำ ด้วยนะครับ   ;D
โรงพยาบาลกะพ้อ จ.ปัตตานี ขึ้นระบบ 01/04/2550
Server HP ProLiant ML110 G6
Cent Os 5.3, MySQL Percona , Xeon 2.33 GHz./1333 MHz., Ram 8 G., SATA II 360 Gb.
minmah2006@hotmail.com
http://www.programmerhero.net

ออฟไลน์ Multithreading

  • Sr. Member
  • ****
  • กระทู้: 388
  • หน่วยควบคุมโรคนำโดยแมลง(de-buger)
  • Respect: 0
    • ดูรายละเอียด
    • Android4Health
Re: การ Select ข้อมูลลง Temp Table
« ตอบกลับ #18 เมื่อ: กันยายน 17, 2010, 16:15:12 PM »
0
temp ก็ temp


สอนเขียน Android และ GIS


นักวิชาการสาธารณสุขปฏิบัติการ in พิษณุโลก

https://www.facebook.com/Android4Health

My Projects in HosXP field.
SurveyTool Android App
HealthPlace  Android App
HosOnDroid  Android App

============================

ออฟไลน์ ARMIN

  • Full Member
  • ***
  • กระทู้: 209
  • ศึกษาต่อไป คงทำเองได้ซักวัน
  • Respect: 0
    • ดูรายละเอียด
    • kaphohospital
Re: การ Select ข้อมูลลง Temp Table
« ตอบกลับ #19 เมื่อ: กันยายน 20, 2010, 08:54:05 AM »
0

ขอบคุณหลายๆ  ... ครับ :)
โรงพยาบาลกะพ้อ จ.ปัตตานี ขึ้นระบบ 01/04/2550
Server HP ProLiant ML110 G6
Cent Os 5.3, MySQL Percona , Xeon 2.33 GHz./1333 MHz., Ram 8 G., SATA II 360 Gb.
minmah2006@hotmail.com
http://www.programmerhero.net