HOME»応用情報技術者試験掲示板»平成31年度春期午後問6設問3のSQLについて
投稿する

平成31年度春期午後問6設問3のSQLについて [3115]

 さん(No.1) 
図2のSQLの下から2行目なのですが、どうしてチェック対象薬剤同士を直積する必要があるのでしょうか?
1つだけではダメなのでしょうか?
リンク
https://www.ap-siken.com/s/kakomon/31_haru/pm06.html
2022.02.03 20:40
関数従属さん(No.2) 
AP シルバーマイスター
チェック対象薬剤の組み合わせを同一レコードの中で求め、
薬剤併用情報と紐づける為だと思われます。

[チェック対象薬剤]
A
B
C
[薬剤併用情報]
A C
の時

チェック対象薬剤の直積を取ることで
A A
A B
A C ※
B A
B B
B C
C A
C B
C C
となり、※のレコードを抽出する事ができます。

[チェック対象薬剤]が1つのみだと
A
B
C
ですが、AとCが別レコードであり、
薬剤併用情報と紐づけるのが難しくなります。
2022.02.03 22:18
 さん(No.3) 
回答ありがとうございます。
直積をしないとA Cのレコードはとれない。
ということは、同じ表(エンティティ?)から二つの属性は抽出できないということでしょうか?
2022.02.04 20:36
関数従属さん(No.4) 
AP シルバーマイスター
>同じ表(エンティティ?)から二つの属性は抽出できないということでしょうか?

チェック対象薬剤1つのみのselect文にて
別の行に入っているものを同じ行の別の列として取得する事はできません。

例えば
[チェック対象薬剤]
A
B
C
の時、

select 薬剤コード 薬剤コード1 , 薬剤コード 薬剤コード2
  from チェック対象薬剤
をしても
薬剤コード1 薬剤コード2
A           A
B           B
C           C
となるだけで

薬剤コード1 薬剤コード2
A           C
は取得できません。
2022.02.04 22:14
 さん(No.5) 
回答ありがとうございます。参考にさせていただきます。
2022.02.04 23:05

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop