はじめての親子ハイキングに挑戦!! >>

Access2010でデータの抽出を行っていますが、
以下のイメージ結果のクエリ(SQL文)についてご教示くださいませ。

■テーブルA
患者ID     日時    診療科   病棟   ステータス
AAAA 2018/3/22 08:00  内科   X病棟   入院
AAAA 2018/3/23 23:59  内科   X病棟   入院中
AAAA 2018/3/24 20:00  外科   X病棟   転科
AAAA 2018/3/24 23:59  外科   X病棟   入院中


■テーブルB
患者ID     記載日時    記載記事タイトル
AAAA      2018/3/24 21:00    手術同意

■結果
患者ID  日時        記載日時    記載記事タイトル  診療科   病棟  ステータス
AAAA 2018/3/24 20:00  2018/3/24 21:00   手術同意   外科  X病棟  転科   

入院の履歴情報をもとにカルテ記載を行ったときの患者の診療科や病棟を求めようとしています。
よろしくお願いいたします。

A 回答 (2件)

SELECT B.患者ID, A.日時, B.記載日時, B.記載記事タイトル, A.診療科, A.病棟, A.[ステータス]


FROM テーブルB AS B INNER JOIN テーブルA AS A ON B.患者ID = A.患者ID
WHERE (((A.日時)=(SELECT MAX(C.日時) FROM テーブルA AS C
WHERE C.患者ID = A.患者ID AND C.日時 <= B.記載日時)));
    • good
    • 1
この回答へのお礼

ありがとうございました。おかげで苦しめられていた状態から解放されました!!

お礼日時:2018/10/18 13:33

select * from テーブルA as a inner join テーブルB as b


on a.患者ID = b.患者ID
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2018/10/18 13:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す

このQ&Aと関連する良く見られている質問

Qデータベースファイル(.db)を開きたいです。

あるファイルを開いてみたいですが、開けません。
プロパティーをみると
データベースファイルで 拡張子は、dbです、

開き方を教えてもらえないでしょうか。

ソフトが必要な場合は 使えるフリーソフトを紹介してもらえると
たすかります。

よろしく御願いします

Aベストアンサー

試しに、openpfficeのデータベースソフトで開いて見てください
http://www.openoffice.org/ja/

Qc++ プログラムについて

txtデータを読み込みデータの行をカウントする
指定した行の前後に違うデータを書き込む

指定する行は複数行であるが書き込むデータは始め以外同じ
書き込む数の初めは1からカウントする

書き込むデータは2進数である
といったプログラムを作成したいのですが
アドバイスなどお願いします

Aベストアンサー

>javaプログラムは組んだことがあるのですがc++は初めてでサイトを見てもよくわからないことが多いので
基本的にあなたが悩んでいる部分は言語の違いは関係ありません
考え方の問題なので

https://gab-km.bitbucket.io/blog/html/2013/11/21/typical_of_cplusplus_file_io.html
http://www.geocities.jp/eneces_jupiter_jp/cpp1/005-004.html
必要な知識はここら辺ですかね?

まぁこの際ある程度書きますが...
頭の中で考えているだけで、実際に動かしているわけではないので
正しく動く保証はできません、そこは調整してください
あといくらか省略していますが、既にご自身で書いてあるソースから想像できると思うので
そこは自分で書き足してくださいね

挿入する行の計算方法は「指定した行」±1ですね

cin >> a; //行指定

std::ofstream ofs("新しいファイル");
std::string line;
int i = 1;
while (std::getline(ifs, line))
{
if( a == i-1 )
{
ofs << 挿入するデータ << std::endl;
}

ofs << line << std::endl;

if( a == i+1 )
{
ofs << 挿入するデータ << std::endl;
}
}

我ながらなかなか雑な処理です
もっとスマートに作れるでしょうけど
まぁ求めている出力は出せるかと

>javaプログラムは組んだことがあるのですがc++は初めてでサイトを見てもよくわからないことが多いので
基本的にあなたが悩んでいる部分は言語の違いは関係ありません
考え方の問題なので

https://gab-km.bitbucket.io/blog/html/2013/11/21/typical_of_cplusplus_file_io.html
http://www.geocities.jp/eneces_jupiter_jp/cpp1/005-004.html
必要な知識はここら辺ですかね?

まぁこの際ある程度書きますが...
頭の中で考えているだけで、実際に動かしているわけではないので
正しく動く保証はできません、そ...続きを読む

Q標準モジュールPublic宣言変数が破棄される現象

お世話になります。
エラー構文の雛形を作成中ですが、Public宣言変数(Public tgt As Variant)が変な動きになりましたので質問いたします。
a1)M01_Main[Module]を含むProject内別Moduleの宣言セクションでPublic tgt As Variant
a2)M01_MainのSub m01_Start[Procedur]中のCall文にブレークポイント(いかBP)を設定
a3)m01_Startからデバック/ステップイン/実行-継続(開始)
a4)⇒『tgt=ABC』~途中処理(極々簡単な処理)・・・
a5)⇒Dim arg_rslt As String,Dim arg_errInfArr(0 To 4) As String
a6)⇒Call S01_Ave.s01_01Data(arg_rslt, arg_errInfArr())【BPで停止】※
Call先へ飛び
b1)s01_01Data(ByRef arg_rslt As String, arg_errInfArr() As String)
b2)⇒『tgt=xyz』~途中処理・・・
b3))⇒EndSub⇒m01_Start
の構成で、※BPで停止後、F8キーでs01_01Dataにカーソル移動、その後に実行-継続すると、ダミーで仕込んだa側エラー/b側エラー発生に対し、意図した動作(tgt=xyz含み)でエラー表示後、終了します。
しかし、
※BPで停止後、m01_Start側から、実行-継続するとs01_01Data側でtgt=xyzとならず、tgt=””になってしまいます。
MSの言う『ほとんどの場合、・・・は保持されますが、意図しない・・・Public 変数の値が破棄され、・・・。 Public 変数がアプリケーション終了時まで有効であること・・・は、推奨されません。』とは、少し違うような・・・・

Q1:皆様は、このような事態に遭遇した事がありますか?
Q2:Public宣言変数の問題でなく他の問題か?(そうは言ってもF8キーなら意図した動作になるのだし・・・、デバックモードの問題?)
Q2:このような現象があると、ごく簡単な短期使用(数行で処理が終了する様な)であっても、Public宣言変数の使用は控えるべきなのか?

以上、よろしくお願いします。

お世話になります。
エラー構文の雛形を作成中ですが、Public宣言変数(Public tgt As Variant)が変な動きになりましたので質問いたします。
a1)M01_Main[Module]を含むProject内別Moduleの宣言セクションでPublic tgt As Variant
a2)M01_MainのSub m01_Start[Procedur]中のCall文にブレークポイント(いかBP)を設定
a3)m01_Startからデバック/ステップイン/実行-継続(開始)
a4)⇒『tgt=ABC』~途中処理(極々簡単な処理)・・・
a5)⇒Dim arg_rslt As String,Dim arg_errInfArr(0 To 4) As String
a6)⇒Ca...続きを読む

Aベストアンサー

こんばんは。

>お騒がせしました、自己解決ました。
一般論ではないのでしょうか?

Q1:一時期は、その変数をチェックするマクロを付けていましたが、プロシージャーであっても、パラメーター(引数)で与えたほうが安全です。

Q2:一度、内部でエラーを発生したら、Public変数など、いつの間にかなくなっています。

>Q2:このような現象があると、ごく簡単な短期使用(数行で処理が終了する様な)であっても、Public宣言変数の使用は控えるべきなのか?

Module内ならともかく、Project 全体で、変数の内容をメモリ内で共有させるのは無理があります。Public Const 以外は、Public 変数は避けたほうがよいというのは、ずっと私は変わりません。

QPHP~のメールの送信でエラーになり送信できません!?

どうもすみません!
以下のサイトからの質問となります。
http://afurieitohannei.la.coocan.jp/mail.htm
よろしくお願いいたします。

Aベストアンサー

> From:"ヘッダーがありません

このメッセージのとおりです。
何でも良いので受信したメールのヘッダーを表示させてみて下さい。
 From: xxxxxx
の様にメールの送信者の情報があるはずです、その情報がないので不備だとしてエラーになっているのです。


mb_send_mail - PHPマニュアル
http://php.net/manual/ja/function.mb-send-mail.php
-----引用開始
bool mb_send_mail ( string $to , string $subject , string $message [, mixed $additional_headers = NULL [, string $additional_parameter = NULL ]] )

中略

additional_headers(オプション)
メールヘッダの最後に挿入される String または array
通常、これは追加のヘッダ(From、Cc、Bcc)のために用いられます。

注意:
メールを送信する際には、必ず From ヘッダが含まれていなければなりません。 additional_headers パラメータで指定するか、 あるいは php.ini にデフォルト値を指定します。
----引用終了

上記の様にphp.iniで設定おくか、$additional_headers でmb_send_mail の引数として与える必要があります。


# 前も指摘したと思うのですが、何故ドキュメントを参照しないのですか?

> From:"ヘッダーがありません

このメッセージのとおりです。
何でも良いので受信したメールのヘッダーを表示させてみて下さい。
 From: xxxxxx
の様にメールの送信者の情報があるはずです、その情報がないので不備だとしてエラーになっているのです。


mb_send_mail - PHPマニュアル
http://php.net/manual/ja/function.mb-send-mail.php
-----引用開始
bool mb_send_mail ( string $to , string $subject , string $message [, mixed $additional_headers = NULL [, string $additional_parameter = NULL ]]...続きを読む

Qsleep関数の原理について

sleep関数がPC内でどういった原理で一定時間おきに動作などを行っているのか教えてください。
「Linuxカーネルがどういう働きしている」「ハードがどういう動作している」とかです。

Aベストアンサー

>一定時間おきに動作などを行っているのか
確実にsleep関数で指定した時間はお休みしているだけであり、
厳密には「一定時間おき」に動作はしません。

・LinuxはマルチタスクOSである
・一定時間(確か100Hzだったと思います)ごとにタスク切り換えを行っている

この2点がわかっていれば、
>「Linuxカーネルがどういう働きしている」
は簡単ですよね。

「sleep関数で指定した時間は、タスク切り換えで自分にCPU時間を割り当てることはしない」というだけです。

>「ハードがどういう動作している」
特段ハードでは、sleep関数実現のために何もしていません。

<おまけ>
sleep関数を呼ばなくてもマルチタスクOS上のタスクは、
 ユーザの知らないタイミングで休み休み動いている
ということです。

QC言語でエラーの直し方が分かりません。

x_i = cos ((PI*(2*i-1))/( 2*N )) i =1,2,...,N   (見づらくてすみません)

という式を計算して、結果を出力したいのですが、コンパイルできません。
自分で書いてみたプログラムとエラーを書いておくので、どこを直せばいいか教えてください。

#include <stdio.h>
#include <math.h>

#define PI 3.1415926535

double x_i(int i, int N)
{
for (i = 1 ; i <= N ; i++) {
x_i(i, N) = cos ((PI*(2*i-1))/( 2*N ));

}
}

int main()
{
int i, N ;
printf("N= ");
scanf("%d", &N);
for (i = 1 ; i <= N ; i++) {

printf("x[%2d] = %f\n",i, x_i(i,N));

}

return 0 ;
}


C:\Users>gcc nnn.c
nnn.c: In function 'x_i':
nnn.c:9:16: error: lvalue required as left operand of assignment
x_i(i, N) = cos ((PI*(2*i-1))/( 2*N ));
^


初心者なのでできれば丁寧に教えていただけると助かります。
よろしくお願いします。
結果は、
C:\Users>a
N = 5
x[ 1] = 0.951057
x[ 2] = 0.587785
x[ 3] = 0.000000
x[ 4] = -0.587785
x[ 5] = -0.951057

という風にしたいです。

x_i = cos ((PI*(2*i-1))/( 2*N )) i =1,2,...,N   (見づらくてすみません)

という式を計算して、結果を出力したいのですが、コンパイルできません。
自分で書いてみたプログラムとエラーを書いておくので、どこを直せばいいか教えてください。

#include <stdio.h>
#include <math.h>

#define PI 3.1415926535

double x_i(int i, int N)
{
for (i = 1 ; i <= N ; i++) {
x_i(i, N) = cos ((PI*(2*i-1))/( 2*N ));

}
}

int main()
{
int i,...続きを読む

Aベストアンサー

>以下のプログラムで正常に動いたので、これを関数に変えればいいと思っていたのですが、うまくいかず質問させていただいてるという流れです。

・ループはコール側でやっているので関数内でやる必要はない。
・ループで結果を表示しているので配列は関係ない。
ということで…

>double x_i(int i, int N)
>{
> for (i = 1 ; i <= N ; i++) {
>  x_i(i, N) = cos ((PI*(2*i-1))/( 2*N ));
> }
>}

は、
double x_i(int i, int N)
{
 return cos ((PI*(2*i-1))/( 2*N ));
}
になるだけなんじゃないですかね?


>int i[20];   //配列の指定の大きさ
>int N[20];
で、関数の方は
>double x_i(int i, int N)
で、コールは
>printf("x[%2d] = %f\n",i, x_i(i,N));

コールする時の第1引数と第2引数は配列を渡していますが、関数の仮引数の方と一致しません。
ということで、コンパイルエラーでしょう。

>x_i(i, N) = cos ((PI*(2*i-1))/( 2*N ));

既に指摘していますし、他の方からも回答ありますが、関数コールに対して値の代入はできません。
ので、こちらもコンパイルエラーでしょう。


>Nは5と決まっているわけではなくて、20までで自分で、自由に決めれるようにしたいです。

>printf("i = ");
>scanf("%d", &N);

iなのかNなのか不明ですが…
規定の範囲の値が入力されるまでループするようにすればよいかと。

do {
 printf("i = ");
 scanf("%d", &N);
} while((N < 0) || (N > 20));
とか?
# scanf()でのエラー処理していませんが。(数字以外を入力すると無限ループに堕ちるとか)

>以下のプログラムで正常に動いたので、これを関数に変えればいいと思っていたのですが、うまくいかず質問させていただいてるという流れです。

・ループはコール側でやっているので関数内でやる必要はない。
・ループで結果を表示しているので配列は関係ない。
ということで…

>double x_i(int i, int N)
>{
> for (i = 1 ; i <= N ; i++) {
>  x_i(i, N) = cos ((PI*(2*i-1))/( 2*N ));
> }
>}

は、
double x_i(int i, int N)
{
 return cos ((PI*(2*i-1))/( 2*N ));
}
になるだけなんじゃないですかね?
...続きを読む

Q自動プログラミングシステムは作られる可能性はあるんですか?

自動プログラミングシステムは作られる可能性はあるんですか?

Aベストアンサー

>まじですか?プログラマーなくても何とかなるシステムですよ?
精度はまだまだ課題は残りますが
着実に実用レベルまで上がっています
導入している企業だって別に珍しくありません

正直今後IT系で働いて行きたいなら上流工程が出来なくてはかなり厳しくなっていきます

Qキックの意味

下図にファイル送信機能の処理シーケンスを示す。他処理は初期設定機能等、管制連携での各処理の場合もあり、また管制連携以外の他のSpiderサーバの処理の場合もある。初期設定完了通知は初期設定機能からの呼び出しで送信のキックがかかる。

上記の文章で、最後のところにある「キック」の意味を教えていただけたらありがたいです。
よろしくお願いいたします。

Aベストアンサー

多分、ココに書いてあることだとおもう。
シンプルすぎて希望の回答に届かないかも知れないけど。

キック (kick)とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
https://wa3.i-3-i.info/word12335.html

初期設定完了通知は
初期設定機能からの呼び出しで
送信の処理が起動され、初期設定完了通知が送信される。
ってことでしょう。

Q既存ツールの保守をすっぽかされて困ってます。

VPSサーバー上に個人用Webツールをプログラマの方に開発してもらった素人個人ですが、
エラー修正等の保守対応をすっぽかされて困ってます。
保守対応は、内容ごとにお支払いしていたのですが...月額費でないからか忙しいからなのか・・・。
VPSサーバー自体は私が契約したものです。

他のプログラマの方に、依頼しようと考えてるのですが、
ソースコードと仕様書などが、対応可否判断に必要かなと考えてるのですが、
合ってますでしょうか?

ソースコードは、開発者にもらわないといけない
仕様書は開発時に用いたもので良いと考えてます。

ソースコードって、やっぱりもらわないといけないでしょうか?
機密性が高いと思うのと、初めてのことで、どうしたら良いのかわかりません。
gitファイル等でもらおうとはこころみているものの
断られたら、どうしようかと思いストレスを抱えております。

アドバイスお願い致します。

Aベストアンサー

Webで動くプログラムであれば、大抵はサーバの中に入ってるはずです。
perlやphpなどのインタプリタ言語であればプログラム本体=ソースコードと考えていいですから、サーバの中を見れば全て入っていると考えていいと思いますが。
どこに入っているかは、プログラム名(ファイル名、コマンド名)がわかっているならfindかければ見つかるでしょうし、httpd(apacheなど)の設定ファイルをたどってもどこにあるかの見当はつくはずです。

コンパイラ言語であれば、ソースをもらえるかどうかは最初の契約次第なのでなんとも。
とりあえず悩んでないで聞いてみるしかないでしょうね。
もしかしたら先方も(忙しい、儲からないなどで)手放したがっているかもしれないし。

QC#のOutOfMemoryException発生要因について

C#でOutOfMemoryExceptionは発生するのは、いくつかサイトを見てみたところ、仮想メモリ不足と考えています。
物理メモリ不足でも起こるものなのでしょうか?

Aベストアンサー

アプリケーションから認識できるのは仮想メモリだけなので、物理メモリの不足が直接OutOfMemoryExceptionを引き起こすことはありません。ただし、物理メモリの不足は仮想メモリ不足の原因になり得ます。

よく、仮想メモリ=ページファイルのような書き方をしているサイトがありますが、これは厳密には間違いです。

この辺りの説明を一通り理解すれば、こんな質問はしなくなるでしょう。

 https://ja.wikipedia.org/wiki/仮想記憶


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング