อย่างที่คุณ mr.win ว่านะครับคือไม่ใช่ยากอย่างเดียวมันต้องดูที่ข้อมูลในอนาคตด้วยว่าข้อมูลที่เพิ่มมีลักษณะแบบไหน
เป็นไปในรูปแบบ A, B, C, D แค่นี้เพิ่มเฉพาะ value กับ pid หรือเปล่า อะไรทำนองนี้น่ะครับ ถึงจะเขียนได้ตรงตามความต้องการจริงๆครับ
อันนี้เป็นตัวอย่างในแบบ Oracle นะครับ ผมไม่แน่ใจว่าเป็น mysql ซ้อน sub แบบนี้ได้หรือเปล่า ต้องลองดูครับ เป็นอีกแนวทางหนึ่งเผื่อจะมีประโยชน์กับท่าน
SELECT A.PID,
A.VALUE AS A,
B.VALUE AS B,
C.VALUE AS C,
D.VALUE AS D
FROM
( SELECT PID, CODE, VALUE FROM TABLENAME WHERE CODE = 'A' ) A,
( SELECT PID, CODE, VALUE FROM TABLENAME WHERE CODE = 'B' ) B,
( SELECT PID, CODE, VALUE FROM TABLENAME WHERE CODE = 'C' ) C,
( SELECT PID, CODE, VALUE FROM TABLENAME WHERE CODE = 'D' ) D
WHERE A.PID = B.PID AND
A.PID = C.PID AND
A.PID = D.PID;
ผมลองแล้ว
select a.hn,
a.result_lab as alt,
b.result_lab as ast,
c.result_lab as alp
from
(select hn,result_lab from result_lab_opd WHERE `regdate` = '2011-09-26' and labcode='010490' and lab_seq='3' ) a,
(select hn,result_lab from result_lab_opd WHERE `regdate` = '2011-09-26' and labcode='010490' and lab_seq='2' ) b,
(select hn,result_lab from result_lab_opd WHERE `regdate` = '2011-09-26' and labcode='010490' and lab_seq='1' ) c
where a.hn=b.hn and
a.hn=c.hn