- - PR -
SQLのロジックについて
1|2|3|4
次のページへ»
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-03-04 10:09
SQLの初心者ですので具体的な例でお答えいただければうれしいです
a char(13) の中に ’099−222−5678 ’ と入ってるとします ’−’の場所は不定です aの値を、’099’、’222’、’5678’に分けるときは どのように記述したら良いのですか? もうひとつ・・・ AというファイルのKEYが、社員コード、連番で内容が名前 社員コード、連番、名前 とあるとして 1社員コードに対して連番が10件存在する・・・として 名前は連番に対してあると思います そこで、名前がSPACEでかつ連番が一番小さいデータを一件 だけ抽出するにはどんなWHEREかけばよろしいのですか? よろしくお願いします | ||||||||
|
投稿日時: 2005-03-04 10:53
お早うございます。
まず、データベースは何ですか?
関数を使う必要があると思いますのでデータベースは何ですか?
名前のデータ型は?SPACEって事はNULL許可の列でNULLって事? それともSPACEが入っているって事? 等々条件をもう少し詳しく _________________ Inspired Ambitious ISMS Assistant Auditor | ||||||||
|
投稿日時: 2005-03-04 10:57
NAO様 おはようございます
まず、データベースはSQL SERVERです 名前はchar(30)でNULLは許可してなく単にSPACEか どうかを条件として聞きたいのです よろしくお願いします | ||||||||
|
投稿日時: 2005-03-04 10:59
maru様 こんにちは
SQL文はおろか、CやVBもやったことがありません ずっとCOBOLをしてきた人間なのです 申し訳ありません もちろん、COBOLなら想像はできます そのレベルなのでよろしくお願いします | ||||||||
|
投稿日時: 2005-03-04 11:18
と言う事は社員コード、連番は必ず入っていて、名前がSPACE(NULLを許可していないという事はスペース入れるしか無いと思うので)って言う以下の様なテーブルって事ですか? 社員コード 連番 名前 ---------------------- 11111 1 あああ 11112 3 いいい 11113 3 構文として書くならば(全データ表示させるとして) select * from [テーブル名] where 名前 <> '' です。 もう一つの文字列切り出しは Trasact-SQLリファレンス http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/tsqlref/ts_tsqlcon_6lyk.asp 等を読んで条件に合う関数を探して下さい m(__)m [ メッセージ編集済み 編集者: NAO 編集日時 2005-03-04 11:26 ] | ||||||||
|
投稿日時: 2005-03-04 11:26
NAO様
社員コード 連番 名前 ---------------------- 11111 1 あああ 11112 3 いいい 11113 3 と言うより 社員コード 連番 名前 ---------------------- 11111 1 あああ 11111 2 11111 3 〜 11111 10 11112 1 いいい 11112 2 〜 11112 10 11113 1 となるのです 探して見ます・・・ありがとうございました できれば、具体的例が欲しいのですが・・・ | ||||||||
|
投稿日時: 2005-03-04 12:55
あくまで未記入さんの例の場合であった場合ですが…
select * from [テーブル名] where 名前='' and 連番=2 order by 社員コード じゃダメかなぁ… 【上のSQLの問題点】 連番を固定で指定している為に違ったら没 ※色々試行錯誤したが連番が異なった場合(たとえば社員コードによって連番の2に名前が入っていた場合没)がこれと言って…(×_×) | ||||||||
|
投稿日時: 2005-03-04 13:18
NAO様
連番の2に名前が入っているとは限らないのです 2に入ってなくて3に名前が入っている場合もあります ランダムに名前が存在していて、その中で名前がはいていない 連番の最小値のデータを取得したいのですが・・・うーん >a char(13) の中に ’099−222−5678 ’ > >と入ってるとします > >’−’の場所は不定です > >aの値を、’099’、’222’、’5678’に分けるときは >どのように記述したら良いのですか? こちらの件はどーでしょうか? よろしくお願いします | ||||||||
1|2|3|4
次のページへ»
