DBに、受注曜日を保持しなければなりませんが
みなさんはどのようなカラム構成にしますか?
1)受注曜日1(日曜日を表す)~受注曜日7(土曜日を表す)の7項目を設け、
それぞれにON/OFFをセットする
例:月・水・金が受注日の場合、受注曜日2、4、6は1、その他はZERO

2)受注曜日1(1つ目の受注曜日を表す)~受注曜日7の7項目を設け、
受注曜日1から順に、曜日を表す区分をセットする
例:月・水・金が受注日の場合、受注曜日1=1、受注曜日2=3、受注曜日3=5、
受注曜日4~7はNull

3)受注曜日を7桁で設け、日曜日から順に受注曜日にはBitを立てる
例:月・水・金が受注日の場合、受注曜日=0101010

4)受注曜日を7桁で設け、受注曜日を表す区分をセットする
例:月・水・金が受注日の場合、受注曜日=135

以前、別のシステムでは2)を使用したのですが、ちょっと不評だったような・・・
ご経験のある方、アドバイスお願いします。

ちなみにDBはOracle8.1.7、この受注曜日を追加しようとしているTableは
既にかなりの項目数があります。
くだらない質問ですみませんがよろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

補足ありがとうございます。


なるほど、わかりました。

受注曜日にある程度パターンがあるようなら、これを別テーブルにしたらどうでしょう?
で、受注パターンテーブルにはパターンID+曜日(7つ)のカラムを作成する。
曜日のカラムは、CHAR(1)で0 or 1とかにしておく。
商品マスターにはこのパターンIDを外部キーとして追加。

こんな感じでどうでしょう?

例えば月曜日に発注するものは発注パターンテーブルから月曜日がONになってるIDを検索、この発注パターンIDをキーに商品マスターを検索すれば一覧が作れます。
副照会使って書けば↓こんな感じですね。

SELECT 商品 FROM 商品MASTER
WHERE 商品マスター.発注パターンID IN (
 SELECT 発注パターンID FROM 発注パターンテーブル
 WHERE 月曜日 = '1'
)

実際の業務での使われ方に則していない可能性もありますが、発注パターンがある程度絞れるなら、これでも充分なパフォーマンスが出ると思います。
    • good
    • 0

何故、受注曜日を横持ちにするんでしょう?


一般的な受注処理なら受注毎に受注番号を振っていくと思うんですが。
で、受注番号をキーに1受注あたり受注日と曜日を1つずつ持てばいいはず。
それとも週単位で受注入力をしているから、といった理由でしょうか?
あるいは受注ではなく配送曜日?

いずれにしても、業務の流れと受注曜日を入力する理由が不明なので、明確な回答は難しいです。

この回答への補足

すみません、補足します。
これは商品Masterで、ある商品の発注サイクル/受注サイクルを持つために
「受注曜日」「発注曜日」を設けることになっています。
この曜日を、自動発注処理・所要量計算に使用することも考えられます。

「受注曜日」はこのMasterの所有者がSellerである際に、Buyerから発注を受け付ける曜日を示します。
説明が下手で申し訳ありません。

補足日時:2001/12/07 08:47
    • good
    • 0

どういった内容のテーブルで受注曜日を利用するのかわかりませんが、


4つの選択肢から選ぶとなると
(1)は、カラムが7つ必要なので既にかなりの項目数があるのでしたら
おすすめできません。
(2)は、受注曜日カラムにデータが入っているかまず判定しないといけ
ないのでちょっとつかいづらい気がします。
(3)(4)は、曜日を条件にして検索はしやすいと思います。
ということから(3)または(4)がいいような気がします。

また、他の方法でも可と言うのでしたら
「稼働日」という項目を追加して 1 = 月~金、2 = 月、水、金、3 = 火、木、土
の数値を登録しておき、1、2、3それぞれの意味を「稼働日マスタ」テーブルとして
作成しておけば数値の意味も分かり、結合して稼働日内容表示もできるかと思います。
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

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

このQ&Aを見た人が検索しているワード

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

Q英語の読み方

日本語は一文字で一つの読み方でわかりやすいのですが英語には読み方の決まりはあるのでしょうか?あるのであれば読み方を詳しく書いているサイトや本、もしくはここに書いてくれると嬉しいです

Aベストアンサー

「えいごのよみかたの」でグーグル検索しかけたら「英語の読み方のルール」の検索結果がたくさんヒットしました。これなんか、どうでしょう。
http://www.uda30.com/bay/Spell-Yomi/Spell-Yomikata.htm

Q【Access抽出方法】 表A-表B=表C は?

Accessを使って2つの表からデータを抽出する方法を
教えてください。

やりたいことは引き算です。
 表A - 表B = 表C

表Aには全取引会社がリストとして入っています。
表Bには得意先の会社だけが入っています。
表Aの中に入っている会社から表Bの得意先以外の
会社だけを表Cとして出したいのですが、
どうするのでしょうか?

実は今、これを手作業で1つ1つ検索削除をやってます。
どなたかお助けください!

Aベストアンサー

テーブルが取引先と得意先
キーが会社CDとすると

SELECT 取引先.*
FROM 取引先 LEFT JOIN 得意先 ON 取引先.CD = 得意先.CD
WHERE (得意先.CD) Is Null;

取引先全レコードと得意先レコードをキーで結びつけて
そのうち得意先レコードがない(null)のレコードを選択する。

Q英語の読み方をカタカナで書くことについて

英語の単語の読み方をカタカナで読み方を書く人がよくいますよね?
たとえば

run ラン

こういった行為はよくないといわれていますなんででしょうか?

またカタカナで読み方を書くのではなくアルファベッドのローマ字読みで読み方を書くという行為もありますがこれはいいのでしょうか?

Aベストアンサー

少し、私も知っていることを言わせていただきます。
ソシュールの教えの中に、「シニフィアン」と「シニフィエ」という言葉があります。
「シニフィアン」とは、表記されたものという意味で、「シニフィエ」とは、その意味を持つ概念を表します。

>run ラン

>こういった行為はよくないといわれていますなんででしょうか?

そんなことは、誰が言ったのしょうね。単に、英語学習の権威付けだけではないでしょうか。
一部の人は、メディアによる吹き込みで、誤解があるのでしょう。

ソシュールの理論からすれば、おかしな話なのです。発音記号で?って、音声学の専門教育を受けた人が、国際音声記号(IPA)で書けるならともかく、別に、一般の発音記号などで表記しても、厳密性などはありませんね。日本人には違う音に聞こえても、英語ネイティブには同じに聞こえるらしいのですが、国際音声記号では、絶対に違う表記になります。

日本語でも、「ん」の表記はされていても、様々な音声を持っています。その違いを日本人自身は、特別な訓練をしなければ、認識できません。当然、ローマ字表記でもカバーすることはできません。私は、英語の発音を何度も調べてみましたが、違う音声なのに、同じに表記される発音記号は多くありますから、何を以って、カタカナ表記が悪いとするのか分かりません。場合によっては、カタカナ表記の方が正確かもしれません。

Wyswyg (what you see is what you get)という言葉がありますが、これをもじって、Wylwyg(what you listen [for] is what you get)ではないでしょうか?あなたの聞いたものが、本当なんだろうと思います。
つまり、音声言語である限りは、どんな表記であろうが、表記自体に何の罪もありません。聞いたことがないものは、発音記号であろうが、国際音声記号(IPA)であろうが、フォニックスであろうが、ハングルであろうが、再現できなければ何の役も立ちません。

究極的には、相手に、自分の意味している音声が通じるかどうかの問題で、有名な同時通訳の人の本でも、英語のカタカナ表記はされています。それが、結構、通じるのです。

「上杉謙信」が、" West Kensington"として通じたでも、それは、それで、Communicable なら良いのだと思います。日本語の発音で何が悪いのでしょう。相手が意味が取れないとなって、始めて、相手とのコンセンサスが取れる発音をするわけで、表記(シニフィアン)に問題があるわけではありません。表記を限定するということには、何か、英語教師の欺瞞が隠されているように感じます。

神経質な英語ネイティブの教師にあたれば、意味は通じていたのに、あれこれ上から目線で文句を言われるかもしれませんし、『なんで英語をやるの』の著者の中津燎子氏のように、英語そのものの有効性を無視して、自分が認める範囲の発音でない生徒なら、即刻ダメだしして、もう教えないという教師もいるかもしれませんが、本当に、英語をコミュニケーションのツールとして考えるなら、そのような配慮はいらないはずです。一方では、英語はグローバルな言語と位置づけながら、もう一方で、米国発音を強要するというのは、矛盾しているように思います。そうした、米国による英語至上主義はやめたほうがよいと思います。

少し、私も知っていることを言わせていただきます。
ソシュールの教えの中に、「シニフィアン」と「シニフィエ」という言葉があります。
「シニフィアン」とは、表記されたものという意味で、「シニフィエ」とは、その意味を持つ概念を表します。

>run ラン

>こういった行為はよくないといわれていますなんででしょうか?

そんなことは、誰が言ったのしょうね。単に、英語学習の権威付けだけではないでしょうか。
一部の人は、メディアによる吹き込みで、誤解があるのでしょう。

ソシュールの理論からすれば、...続きを読む

Q二つの表の項目を比較して値を取得するSQL

お世話になります、
二つの表の項目を比較して値を取得するSQLを作成しているのですが、うまくいきません。

具体的には
Aテーブル

NAME | PRICE
------|------
リンゴ | 100
------|------
オレンジ | 200
------|------
ブドウ | 300
------|------


Bテーブル

NAME | PRICE
------|------
リンゴ | 1000
------|------
オレンジ | 200
------|------
ブドウ | 1300
------|------


という二つのテーブルA、Bがあったとします。
このA,Bの二つのテーブルのそれぞれの果物のPRAICEを比較してBのPRICEがアップしている果物を出力するという
SQLを教えてください。

<ほしい結果>
NAME | PRICE
------|------
リンゴ | 1000
------|------
ブドウ | 1300


よろしくお願いします。

お世話になります、
二つの表の項目を比較して値を取得するSQLを作成しているのですが、うまくいきません。

具体的には
Aテーブル

NAME | PRICE
------|------
リンゴ | 100
------|------
オレンジ | 200
------|------
ブドウ | 300
------|------


Bテーブル

NAME | PRICE
------|------
リンゴ | 1000
------|------
オレンジ | 200
------|------
ブドウ | 1300
------|------


という二つのテーブルA、Bがあったとします。...続きを読む

Aベストアンサー

No.1の ymmasayan です。
hana432 さんの指摘は重要です。

> AテーブルのNAMEとBテーブルのNAMEは、1:1と考えてよいですか?

この条件が満たされない場合は副照会を使う必要が出てくるでしょう。
ただ、そのあとに多少疑問があります。

> もし、「Aテーブルには無くてBテーブルにはある」もしくはその逆のパターンのデータが存在するのであれば上記の条件では不備があるので注意してください。

このような不備はありません。一方がなくても比較をしないだけ(本当は比較にすら行かない)なので、心配する必要はありません。

Q英語の読み方

英語の読み方を説明や教えてくれるホームページなどがあったら、教えてください。               
もしない場合は「palaces」の読み方だけでも教えてください。

Aベストアンサー

「フォニックス(phonics)」で検索すると、色々出てくるんじゃないでしょうか?

日本語には50音表があり、基本的に全ての単語が50音表の音だけでできています。他の音は使いません。

他の言語も同様で、英語の場合、フォニックスとか42 SoundsとかPV法とか言い方は色々ありますが、全ての単語がその音だけでできています。他の音は使いません。

(言語学で言うと「音韻」と言います。)

例えば、方言にもよりますが、一般米語の母音はこの表の13(14?)母音だけです。他の音を使ってはいけません。
http://www.americanaccent.com/vowel_chart.swf


又、英語のつづりは日本人が思っているほどめっちゃくちゃではありません。しっかりしたルールがあるます。

母音なら、
a,e,i,o,uの5文字にそれぞれ2種類の読み方があります。これで10通り。
加えて、oi,ou,ooの二重音字(2文字で1音)が3つ、計13母音です。

例えばaという字は[ei]か「ae]の2種類の読み方があります。つづり字でaを見たら、まずこの二つのどちらかを疑います。
例:[ei]で読む単語はmake、take、hate等
[ae]で読むのはapple、bad、dad、stand等

ただ、日本語も英語も、「アクセント」の位置が重要な言語ですが、日本語と英語の決定的な違いは、英語は基本的に「アクセントのある母音だけつづりのルール通りに読んで、
アクセントが無い部分は、つづりがなんであろうとuの発音(bus等のu)を弱めに発音したものになる」ということです。

日本語は例えば「赤」と「垢」のアクセントの違いは、「音程」ですが、英語は音程は別に変えなくてもいいです。でもこの「母音の読み方」を変えることが重要です。


palacesは、
アクセントの位置は1つ目のaです。
ということは、1つ目aだけルール通り[ei]か「ae]で読み(この単語の場合は[ae])、2つ目のaとeはアクセントが無いので、つづり字に関わらずuの発音になります。

読みどおりにつづると、
PAL-uh-suz
となります。

(uhはbusのu)。

「フォニックス(phonics)」で検索すると、色々出てくるんじゃないでしょうか?

日本語には50音表があり、基本的に全ての単語が50音表の音だけでできています。他の音は使いません。

他の言語も同様で、英語の場合、フォニックスとか42 SoundsとかPV法とか言い方は色々ありますが、全ての単語がその音だけでできています。他の音は使いません。

(言語学で言うと「音韻」と言います。)

例えば、方言にもよりますが、一般米語の母音はこの表の13(14?)母音だけです。他の音を使ってはいけません...続きを読む

QSQLで曜日のソートを月火水木金土日にしたい

こんにちは。SQLiteのソートについてお教え頂けませんでしょうか。

フィールドに曜日が入っています。その曜日をソートをかけると下記のようになります。

土 日 月 木 水 火 金

欲しい並び順は下記です。

日 月 火 水 木 金 土
Or
月 火 水 木 金 土 日

CSVに出力したり、色々したいので曜日順になっていてもらった方が色々助かるのですが、何か良い方法はないでしょうか?

今考えているのは、C#のフォームからSQL文を発行してSQLiteに問い合わせ。結果をC#側で受け取って、CSVに出力という事を考えています。

Aベストアンサー

"CREATE TABLE hoge (yobi char(5))"

"INSERT INTO hoge VALUES ('土'),('日'),('月'),('木'),('水'),('火'),('金')"

"select yobi from hoge order by case yobi when '日' then 1 when '月' then 2 when '火' then 3 when '水' then 4 when '木' then 5 when '金' then 6 when '土' then 7 end"

こんなところでしょうか

Q英語の文字の読み方についてお願いします。図々しいのですが、英語の読み方

英語の文字の読み方についてお願いします。図々しいのですが、英語の読み方を全て書いていただけませんか(サイトがあれば教えて下さい)。例:ja=ヤ,ジャ の用にjaで「ジャ」や「ヤ」と発音するみたいにお願いします。

Aベストアンサー

フォニックスやるのがいちばんいいんじゃないですか?

フォニックスって何?
http://allabout.co.jp/children/kidsenglish/closeup/CU20020620a/index.htm
http://www.genkienglish.net/phonicsj.htm

QFileMaker Ver.7で2つの日付間から特定の曜日を除いた日数を求めたいのですが…

FileMaker Ver.7を使用して、質問のタイトルのように2つのフィールドは開始日と終了日を使用して特定の曜日を除いた日数を求めたいのですが皆様教えていただけませんか?

Aベストアンサー

>特定の曜日を除いた日数を求めたい
 特定の曜日は複数(土・日など)の場合もあるかも知れませんが、ここでは例えば日曜だけというように単数の場合に限定してお答えします。
 複数の場合があるときは、下記にならい、フィールドを複数設けて計算してください。
 次のとおり入力フィールド及び計算フィールドを作ります。
1、開始日(タイプ「日付」)……入力フィールドです。
2、終了日(タイプ「日付」)……入力フィールドです。
3、期間日数(タイプ「計算」計算結果「数字」)
  計算式………終了日-開始日+1
4、開始日の曜(タイプ「計算」計算結果「数字」)
  計算式………DayofWeek(開始日)
5、曜日(タイプ「テキスト」)……除きたい「特定の曜日」を入力するフィールドです。
 なお、入力に当たっては値一覧で定義し、ポップアップメニューで入力する方が便利でしょう。
7、曜日順(タイプ「計算」計算結果「数字」)」
  計算式……Case(曜日 ="日曜日",1,曜日="月曜日",2,曜日="火曜日",3,曜日="水曜日",4,曜日="木曜日",5,曜日="金曜日",6,曜日="土曜日",7)
7、期間中の曜日数(タイプ「計算」計算結果「数字」)
  計算式………If((0>曜日順 - 開始日の曜)or(曜日順-開始日の曜>=Mod(期間日数,7)),Int(期間日数/7),Int(期間日数/7)+1)
8、特定の曜日を除いた日数(タイプ「計算」計算結果「数字」)
  計算式………期間日数 - 期間中の曜日数
 以上で答えが出ると思います。(自信ありとしたのは、テストの結果一応正解が出たという意味です。)
 なお、「一応」という意味は、ご存知かも知れませんが、ファイルメーカーの場合はエクセルと違って「DATEDIF」のような関数がないため、期間計算や年齢計算の場合、極めて複雑な計算をしないと閏年の関係で2年おきに1日の誤差が生じることがあります。したがって前記の場合も計算期間が長期間(例えば1年以上)になると誤差が生じる可能性がないとはいえません。しかしそこまで考慮して計算式に引用すると式が極めて複雑になるため、今回は省いておりすのであらかじめご了承ください。
(お暇があれば下記URLをご参照ください。)
http://okwave.jp/kotaeru.php3?q=1739838

>特定の曜日を除いた日数を求めたい
 特定の曜日は複数(土・日など)の場合もあるかも知れませんが、ここでは例えば日曜だけというように単数の場合に限定してお答えします。
 複数の場合があるときは、下記にならい、フィールドを複数設けて計算してください。
 次のとおり入力フィールド及び計算フィールドを作ります。
1、開始日(タイプ「日付」)……入力フィールドです。
2、終了日(タイプ「日付」)……入力フィールドです。
3、期間日数(タイプ「計算」計算結果「数字」)
  計算式………終了...続きを読む

Q英語由来の外来語の読み方

例えば、アメリカ大統領のリンカーンの名前の読み方について、次の二通りをよく目にします。
(1)アブラハム・リンカーン
(2)エイブラハム・リンカーン

 (2)は、より英語の発音に忠実な読み方、と言えると思いますが、(1)のような読み方は、何か呼び方がありますか? 「ヘボン式」とは違いますか? 何か適切な呼び方があればそれをご教授頂きたいのと、ほかにもこのような例をご存じであれば挙げて頂きたいこと、それと、それに関する解説か、サイトの紹介などを、よろしくお願い致します。

Aベストアンサー

(1)は一般的に【ローマ字読み】といわれる類です。

http://www.ikeda19.com/como_leer.html

http://komachi.yomiuri.co.jp/t/2013/0217/574050.htm?g=08

Qクエリ-でAデ-タとBデ-タの 1コ-ド 2大項目 3中項目 の同じ項

クエリ-でAデ-タとBデ-タの 1コ-ド 2大項目 3中項目 の同じ項目を横に並べて数量を比較したいのですがどの様な関数又はSQLを組んだら良いでしょうかご指導願います アクセス2003




Aデータ Bデータ
コ-ド 大項目   中項目   数量 コ-ド 大項目  中項目   数量
123   22   11   100123   22   12   10
123 22 11 50123 22 12 25
123 18 12 40123 18 11 26
123 26 12 30123 26 11 28
234 20 91 100234 20 91 30
234 20 18 200234 20 18 65
234 24 18 300234 24 18 52
234 24 24 400234 24 24 40
256 25 12 58
256 25 12 26
256 26 24 23


完成後クエリ後


AデータBデータAデータBデータAデータBデータAデータBデータ
コ-ドコ-ド大項目大項目中項目中項目数量数量
1231232222111110010
123123222211115025
123123181812124026
123123262612123028
23423420209191100
23423420201818200
23423424241818300
23423424242424400

1.AデータとBデータが有ります Aデータのコ-ドとBデータのコ-ドをリレーショプを張って
Aデータのコード、Bデータのコードと上の様クエリを組みたいのですが指導願います
元データをAデータにしてBデータの同じものをくっつけて数量を比較したいのです

クエリ-でAデ-タとBデ-タの 1コ-ド 2大項目 3中項目 の同じ項目を横に並べて数量を比較したいのですがどの様な関数又はSQLを組んだら良いでしょうかご指導願います アクセス2003




Aデータ Bデータ
コ-ド 大項目   中項目   数量 コ-ド 大項目  中項目   数量
123   22   11   100123   22   12   10
123 22 11 50123 22 12 25
123 18 12 ...続きを読む

Aベストアンサー

2段階でやれることが分かりました。第1段階でコード、大項目、中項目をつないだフィールドを各テーブルごとにクエリーのビルドで作ります。新テーブルと呼ぶことにします。
第2段階であなたのやろうとされたリレーションで二つの新テーブルを新フィールドで関係付けておき、新しいクエリーで二つの新テーブルを読み込むと、あなたの希望するデータだけが出てきます。


人気Q&Aランキング