NasimBamdad
شنبه 07 مرداد 1391, 00:46 صبح
سلام خدمت دوستان عزیز . من یک کوری نوشتم که به صورت زیر هست . فکر کنم مشکلات زیادی داره و استاندارد نباشه . نمی دانم تشخیص اون به عهده شما اساتید .
کوری من اینه
INSERT INTO invoice_daroo(patientid,darooid,cost_azad,cost_bim e,cost_bimar)
SELECT DU.patientid,DU.darooid,(DU.numberz * DT.daroo_cost_azad),(DU.numberz * DT.daroo_cost_bime), (DU.numberz * DT.daroo_cost_azad) - (DU.numberz * DT.daroo_cost_bime)
FROM patients AS P INNER JOIN
daroo_usage DU ON P.id = DU.patientid LEFT OUTER JOIN
invoice_daroo IND ON P.id = IND.patientid LEFT OUTER JOIN
daroo_type DT ON DU.id = DT.id
WHERE P.bime_status = '2'
من 4 تا جدول از جداولم رو می خوام براشون کوری بنویسم . در اکثر جداولم یک فیلد منحصر به فرد دارم به اسم patientid که شماره پرونده بیمار هست که منحصر به فرد هست . جداولی که به نحوی مقادیری نظیر قیمت ها رو در اون ها ذخیره می کنم از این فیلد برخوردار نیستند .
یه جدول بیماران دارم که تمام مشخصات فردی بیمار در اون هست . یه جورایی جدول مرجع من هست . ( اسم جدول patients می باشد و فیلد id برابر با شماره پرونده هست . )
//////////////////////
جدول invoice_daroo که جدولی هست که مقادیر مالی در واقع صورت حساب بیمار در اون قید می شود و از چند ستون تشکیل میشه
id به عنوان شمارنده
patientid به عنوان شماره پرونده ( همون فیلد منحصر به فرد )
darooid که id هر دارو هست که از جدول دیگه ای لود میشه
cost_azad بهای آزاد دارود
cost_bime بهای بیمه دارو
cost_mokamel بهای بیمه مکمل دارو
cost_bimar بهای بیمار
//////////////////////
جدول daroo_type که انواع دارو ها + قیمت دارو ها در قالب آزاد - بیمه - مکمل در اون درج میشه
id به عنوان شمارنده
darooid که کد دارو هست
numberz که تعداد استفاده شده اون دارو هست . ( مثلا 5 تا از این دارو برای بیمار استفاده شده
patientid که شماره پرونده بیمار هست . هر بیمار رو با بیمار دیگه متمایز می کنه و منحصر به فرد هست
//////////////////////
جدول daroo_usage که دارو های استفاده شده در این جدول هستند .
id به عنوان شمارنده
daroo_name به عنوان اسم دارو
daroo_cost_azad بهای آزاد دارو
daroo_cost_bime بهای بیمه دارو
daroo_cost_mokamel بهای مکمل دارو
//////////////////////
من می خواهم که تعداد دارو استفاده شده در جدول daroo_usage * قیمت آزاد یا بیمه یا و.... بشه و در جدول invoice_daroo درج بشه .
با اولین کوری که بالا نوشتم این کار صورت می گیره ، مقادیر در جدول invoice_daroo درج میشه ،،، اما فقط patientid درج میشه و قیمت ها ، در واقع عملیات ضرب انجام نمیشه .
این وسط یک شرط دارم ، شرط من از جدول patients مشتق میشه . و اون هم فیلد bime_status هست که در جدول patients هست . باید مقدار bime_status برابر با '2' باشه . یعنی از بین دارو های استفاده شده در جدول daroo_usage برای بیماران ،،،، تنها بیمارانی که در جدول patients مقدار bime_status شان برابر 2 هست رو انتخاب کنه برای ضرب و درح در جدول invoice_daroo
یکم بد توضیح دادم ، شرمنده اگه جایی رو متوجه نشدید بگید تا بهتر توضیح بدم . یک عکس هم قرار دادم که امیدوارم بهتر کمک کنه .
لیــــنک عکــــــس (http://1.0.0.img98.net/out.php/i415961_q.gif)
پیشاپیش از زحمات شما متشکرم .
کوری من اینه
INSERT INTO invoice_daroo(patientid,darooid,cost_azad,cost_bim e,cost_bimar)
SELECT DU.patientid,DU.darooid,(DU.numberz * DT.daroo_cost_azad),(DU.numberz * DT.daroo_cost_bime), (DU.numberz * DT.daroo_cost_azad) - (DU.numberz * DT.daroo_cost_bime)
FROM patients AS P INNER JOIN
daroo_usage DU ON P.id = DU.patientid LEFT OUTER JOIN
invoice_daroo IND ON P.id = IND.patientid LEFT OUTER JOIN
daroo_type DT ON DU.id = DT.id
WHERE P.bime_status = '2'
من 4 تا جدول از جداولم رو می خوام براشون کوری بنویسم . در اکثر جداولم یک فیلد منحصر به فرد دارم به اسم patientid که شماره پرونده بیمار هست که منحصر به فرد هست . جداولی که به نحوی مقادیری نظیر قیمت ها رو در اون ها ذخیره می کنم از این فیلد برخوردار نیستند .
یه جدول بیماران دارم که تمام مشخصات فردی بیمار در اون هست . یه جورایی جدول مرجع من هست . ( اسم جدول patients می باشد و فیلد id برابر با شماره پرونده هست . )
//////////////////////
جدول invoice_daroo که جدولی هست که مقادیر مالی در واقع صورت حساب بیمار در اون قید می شود و از چند ستون تشکیل میشه
id به عنوان شمارنده
patientid به عنوان شماره پرونده ( همون فیلد منحصر به فرد )
darooid که id هر دارو هست که از جدول دیگه ای لود میشه
cost_azad بهای آزاد دارود
cost_bime بهای بیمه دارو
cost_mokamel بهای بیمه مکمل دارو
cost_bimar بهای بیمار
//////////////////////
جدول daroo_type که انواع دارو ها + قیمت دارو ها در قالب آزاد - بیمه - مکمل در اون درج میشه
id به عنوان شمارنده
darooid که کد دارو هست
numberz که تعداد استفاده شده اون دارو هست . ( مثلا 5 تا از این دارو برای بیمار استفاده شده
patientid که شماره پرونده بیمار هست . هر بیمار رو با بیمار دیگه متمایز می کنه و منحصر به فرد هست
//////////////////////
جدول daroo_usage که دارو های استفاده شده در این جدول هستند .
id به عنوان شمارنده
daroo_name به عنوان اسم دارو
daroo_cost_azad بهای آزاد دارو
daroo_cost_bime بهای بیمه دارو
daroo_cost_mokamel بهای مکمل دارو
//////////////////////
من می خواهم که تعداد دارو استفاده شده در جدول daroo_usage * قیمت آزاد یا بیمه یا و.... بشه و در جدول invoice_daroo درج بشه .
با اولین کوری که بالا نوشتم این کار صورت می گیره ، مقادیر در جدول invoice_daroo درج میشه ،،، اما فقط patientid درج میشه و قیمت ها ، در واقع عملیات ضرب انجام نمیشه .
این وسط یک شرط دارم ، شرط من از جدول patients مشتق میشه . و اون هم فیلد bime_status هست که در جدول patients هست . باید مقدار bime_status برابر با '2' باشه . یعنی از بین دارو های استفاده شده در جدول daroo_usage برای بیماران ،،،، تنها بیمارانی که در جدول patients مقدار bime_status شان برابر 2 هست رو انتخاب کنه برای ضرب و درح در جدول invoice_daroo
یکم بد توضیح دادم ، شرمنده اگه جایی رو متوجه نشدید بگید تا بهتر توضیح بدم . یک عکس هم قرار دادم که امیدوارم بهتر کمک کنه .
لیــــنک عکــــــس (http://1.0.0.img98.net/out.php/i415961_q.gif)
پیشاپیش از زحمات شما متشکرم .