งงกับความต้องการ ต้องการนับอะไรครับ
ขอเดาว่าความต้องการก็คือ จะนับ visit จาก ovst โดยนับว่าแต่ละคนเคยมารับบริการกี่ครั้งในช่วงเวลาที่กำหนดถูกหรือเปล่าครับ (แต่ข้อมูลพวกนี้เค้าไม่ค่อยนับกันอยู่แล้ว)
ถ้าตามนี้ output ก็จะต้องมี 2 ค่าคือ
- hn
- จำนวนครั้งที่มา visit เพราะ 1 record คือ 1 visit
แต่
ทำไมถึงใช้ Variable ดึงอ่ะครับเพราะ variable จะใช้ดึงค่า ๆ เดียว (ไม่เคยทำแบบหลายฟิล์สักทีแม้แต่ดึงทีละหลาย reccord ก็ยังไม่เคยทำเลยครับ คิดว่าไม่น่าจะทำได้)
ผมเสนอว่าลองใช้ DBPipeline ตัวอื่นดูครับ เช่น
ChangeDBPipeLineLink1SQL(<sql>);
ChangeReportSQL(<sql>);
<sql> คือคำสั่ง sql ที่ต้องการ เมื่อเขียนโค้ดเสร็จ previews 1 รอบ แล้วกับมาหน้าออกแบบรายงาน
สังเกตด้านขวาตรง Datatree กดเลือกตัวที่เราใช้ครับ เช่นถ้าใช้คำสั่ง ChangeDBPipeLineLink1SQL(<sql>); ก็ไปกดที่ DBPipeLineLinks1
แล้วจะมี Fields For DBPipeline ให้เราเลือกครับ ฟิลพวกนี้มาจากคำสั่ง sql ของเราที่ใส่ไปในฟังก์ชัน
ส่วนค่าต่าง ๆ ที่จะใส่ใน report ก็สามารถนำ DBText มาวางได้เลย (เลือก DBPiepeline ให้ถูกตัวด้วย)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ส่วนคำสั่ง sql ที่ให้มา ถ้าต้องการ group by hn จริง ๆ ให้ใช้ Group by count(hn) แทนครับ
แต่ผลลัพท์ที่ได้คงเอาไปทำอะไรต่อไม่ได้ เพราะค่าที่ได้คือค่า ๆ เดียวครับ
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
แต่ถ้าตัด Group by ออก จะเป็นการนับ visit ผู้ป่วยนอกทั้งหมดตามช่วงเวลาที่กำหนดครับ
ที่ต้องการน่าจะเป็นตัวนี้หรือเปล่าครับ