- 締切済み
この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がよくわかりません。 どうか教えて頂きたいと考えています。 宜しくお願い致します。
- みんなの回答 (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") ; こんな感じですね(笑)
- mfuku
- ベストアンサー率50% (173/345)
653さん、こんにちは、先ほどのご質問でおわかりだと思いますが、|| は文字列結合演算子ですので、 SELECT * FROM A WHERE F2 || F3 = '1234'; となります。 文字列結合演算子は、 Oracleの場合、|| SQL-Serverの場合、+ ACCESSの場合、& または + となりますので、ご注意くださいね。
お礼
mfukuさんありがとうございます。 確かに先ほど質問しました(笑) 再確認の意味をこめてきいてしまいました。 ありがとうございます。
- Cappuccino111
- ベストアンサー率42% (8/19)
select * from A where (F2 || F3) = '1234' これじゃダメかしら…?
- kj_
- ベストアンサー率39% (9/23)
SQLをそのまま書きます select * from テーブル名 where F2 || F3 = '1234' 以上です! sqlでの || は文字の結合を意味します。 んでは 頑張ってくださーい
お礼
なるほど(笑) ありがとうございました