- - PR -
SQLのロジックについて
«前のページへ
1|2|3|4
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-03-07 10:02
質問2について、以前私が書いたものは未推敲だったために一度削除したのですが、
それを参考にしてだとするとちょっと間違っている気がします。
これだと、何かよくわからないものを更新している気がするので、
あたりだと思うのですが… で、一度ワークにとるかどうかです。 処理が、 ・このテーブルから別の情報(たとえば社員番号)も取得 ・加工 ・テーブルを更新 という流れであればワークにとるのもいいのですが、 対象となる社員は別の手段で取得(たとえば外部データより入力)して、 単にこのテーブルの更新をしたいだけなら上記サブクエリーで処理したほうが いいのではないかと思います。 | ||||||||
|
投稿日時: 2005-03-07 10:10
にしざき様
UPDATE [テーブル] SET 更新項目a = 更新対象 FROM [テーブル], WHERE 名前 = ' ' AND 連番 = (SELECT MIN(連番) FROM [テーブル], WHERE 名前 = ' ' これで、更新できました ちょっと書き方が乱雑かもしれませんが にしざき様の書き方でヒントを得ました ありがとうございました | ||||||||
|
投稿日時: 2005-03-07 11:38
もう一つの質問の件
具体的に書くと・・・ DECLARE @A char(13), @B1 char(7), @B90 int, @B91 int, @B92 int, @B2 char(5), @B3 char(5) set @A = '099-234-5678 ' set @B90 = CHARINDEX('-',@A) set @B1 = SUBSTRING(@A, 0, CHARINDEX('-', @A)) set @B91 = CHARINDEX('-' ,@A ,+@B90 +1) set @B92 = @B91 - @B90 set @B2 = SUBSTRING(@A, (CHARINDEX('-', @A) +1) ,@B92 -1) set @B92 = 13 - @B91 set @B3 = SUBSTRING(@A, @B91+1 ,@B92) これで’−’の場所が不定でもできました ありがとうございました [ メッセージ編集済み 編集者: 未記入 編集日時 2005-03-07 11:39 ] | ||||||||
«前のページへ
1|2|3|4
