以下のデータがあります。各患者は固有のIDを有し、薬物は処方された薬物を示す。SQLで行を選択
Id drug
1 abc
1 ghi
2 abc
2 cde
2 def
3 ghi
3 klm
私はSQLで "ghi"の患者にどのような薬が処方されているのか見たいと思います。結果はこのようなものになるはずです。
イド薬
1 ABC
1 GHI
3 GHI
3 KLM事前に
感謝。
以下のデータがあります。各患者は固有のIDを有し、薬物は処方された薬物を示す。SQLで行を選択
Id drug
1 abc
1 ghi
2 abc
2 cde
2 def
3 ghi
3 klm
私はSQLで "ghi"の患者にどのような薬が処方されているのか見たいと思います。結果はこのようなものになるはずです。
イド薬
1 ABC
1 GHI
3 GHI
3 KLM事前に
感謝。
あなたの探しているものは何ですか? 「GHI」を持つすべての患者のリストを取得し、そのリストからそれらの患者に処方IDと薬のリストを返します
SELECT id, drug FROM (SELECT id FROM Patients WHERE drug = 'ghi') AS T INNER JOIN Patients AS P ON T.id = P.id
。
あなたのテーブル名は言及していません。私は処方と推測しました。
あなたの予想クエリ:
select * from prescription where id in
(select id from prescription where drug='ghi')
ここでは、私はそれを行っている方法です。
データベーススキーマ
create table prescription
(
id int,
drug varchar(100)
);
insert into prescription(id, drug) values(1, 'abc');
insert into prescription(id, drug) values(1, 'ghi');
insert into prescription(id, drug) values(2, 'cde');
insert into prescription(id, drug) values(2, 'def');
insert into prescription(id, drug) values(3, 'ghi');
insert into prescription(id, drug) values(3, 'klm');
クエリ
select * from prescription where id in
(select id from prescription where drug='ghi')
結果
id drug
1 abc
1 ghi
3 ghi
3 klm
あなたは私をテストする場合ここのオンラインはフィドルですhttp://www.sqlfiddle.com/#!9/0a299/7/0
ありがとう。それは動作します。 –
それを聞いてうれしいです。ユーザーが自分の質問に対して良好な回答を受け取った場合、そのユーザーは回答を「受け入れる」ことができます。こちらをご覧ください:http://stackoverflow.com/help/accepted-answer – arsho
これまでに試したことをお見せください。ありがとうございました。 –
私たちは、薬物ではなくコードを意味します。 – Strawberry