こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

このSQLは!!

できないでしょうか?
失礼しました。質問をさせていただきます。

テーブルAにフィールドがF1, F2, F3, F4とあります。

たとえばF2とF3を連結させてものが"1234"に等しいレコードを取得
(例えば
     F1 F2 F3 F4
--------------------------------------------------
     11 22 33 44
     55 66 77 88
→    11 12 34 56
     99 99 99 99

   →のレコードを取得したいんです。)
したいときのSQLがよくわかりません。

どうか教えて頂きたいと考えています。
宜しくお願い致します。

投稿日時 - 2002-04-16 16:01:40

QNo.253862

653

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

列連結の方法は下記の方の回答とおりです。
連結を使用できない場合はこんな感じで・・・

select * from A
where (F2 = "1234" and F3 is null)
or (F2 = "123" and F3 = "4")
or (F2 = "12" and F3 = "34")
or (F2 = "1" and F3 = "234")
or (F2 is null and F3 = "1234")
;

こんな感じですね(笑)

投稿日時 - 2002-04-16 17:30:22

お礼

なるほど(笑)
ありがとうございました

投稿日時 - 2002-04-17 10:19:46

ANo.3

653さん、こんにちは、先ほどのご質問でおわかりだと思いますが、|| は文字列結合演算子ですので、

SELECT * FROM A WHERE F2 || F3 = '1234';

となります。
文字列結合演算子は、
Oracleの場合、||
SQL-Serverの場合、+
ACCESSの場合、& または +
となりますので、ご注意くださいね。

投稿日時 - 2002-04-16 16:27:40

お礼

mfukuさんありがとうございます。

確かに先ほど質問しました(笑)
再確認の意味をこめてきいてしまいました。
ありがとうございます。

投稿日時 - 2002-04-17 10:21:26

select * from A where (F2 || F3) = '1234'

これじゃダメかしら…?

投稿日時 - 2002-04-16 16:11:31

ANo.1

kj_

SQLをそのまま書きます

select * from テーブル名
where F2 || F3 = '1234'

以上です!
sqlでの || は文字の結合を意味します。

んでは 頑張ってくださーい

投稿日時 - 2002-04-16 16:11:21

あなたにオススメの質問