• 締切済み

この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がよくわかりません。 どうか教えて頂きたいと考えています。 宜しくお願い致します。

みんなの回答

noname#1802
noname#1802
回答No.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") ; こんな感じですね(笑)

653
質問者

お礼

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

  • mfuku
  • ベストアンサー率50% (173/345)
回答No.3

653さん、こんにちは、先ほどのご質問でおわかりだと思いますが、|| は文字列結合演算子ですので、 SELECT * FROM A WHERE F2 || F3 = '1234'; となります。 文字列結合演算子は、 Oracleの場合、|| SQL-Serverの場合、+ ACCESSの場合、& または + となりますので、ご注意くださいね。

653
質問者

お礼

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

回答No.2

select * from A where (F2 || F3) = '1234' これじゃダメかしら…?

  • kj_
  • ベストアンサー率39% (9/23)
回答No.1

SQLをそのまま書きます select * from テーブル名 where F2 || F3 = '1234' 以上です! sqlでの || は文字の結合を意味します。 んでは 頑張ってくださーい

関連するQ&A