1
4つの列を持つ表に挿入したいと考えました。最初の2つの列はselect into文を使用して移入され、一方、2つの列は2つの異なる表から移入されます。私がしたいことは、すべてが重複とヌルなしで行ごとに配置されるということです。私の計画を視覚化するSQL - 異なるselect intoクエリを使用して複数の列に挿入
は、ここで所望の出力です:
が、私はそれをやってみたときに、これは私が得るものです:
にnull値すべてのインサート。私は現在の手順を使用し、ここで私のクエリでいます:
CREATE DEFINER=`root`@`localhost` PROCEDURE `Biller`(IN Pid varchar(30))
BEGIN
insert into sample2(ids,prices)
select bed_bill_id,price
from bed_billing
where patient_id = Pid
UNION
select csr_bill_id,price
from csr_billing
where patient_id = Pid
UNION
select lab_bill_id,price
from lab_billing
where patient_id = Pid
UNION
select pharm_bill_id,price
from pharm_billing
where patient_id = Pid
UNION
select rad_bill_id,price
from rad_billing
where patient_id = Pid;
insert into sample2(patient)
values(Pid);
insert into sample2(physician)
select attending_id
from attending_physician
where attending_physician.patient_id = Pid;
END
これは私が挿入物についても考えていることです。私はあなたの質問をしようとすると、 'フィールドリスト'の '未知の列' b.bill_id 'は、 – JJCADIZ
私はすでにそれを解決したと言います。あなたの質問を使って。問題は 'b.bill_id'でしたが、他の列の名前が異なるので、私は単に' AS bill_id'をselectクエリに入れました。どうもありがとう。 – JJCADIZ
はい、ありがとう、私はそれをするのを忘れました。私はちょうどそのエイリアスを含めるために上記を編集しました。 FWIWでは、最初の結合されたクエリで列のエイリアスを行うだけです。後続の結合されていないクエリは、最初のクエリに従って列名を採用します。 –