重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

商品を登録するテーブル(商品テーブル)があって
構造が
商品主コード varchar(5)
商品補助コード varchar(2)
商品名 varchar(10)
です。

商品主コードと商品補助コードを一つにして「商品コード」として使用しています。(ex:12345-00)
検索の際、商品コードをインプットボックスに「12345-00」と入力してその商品名を取得したいのですが、上手くいきません。
どなたかお願いします!
現在のSQLは
Select 商品名
From 商品テーブル
Where 商品主コード || '-' || 商品補助コード Like '%入力された商品コード%'
です。

A 回答 (3件)

どのように上手くいかないのか不明ですが、条件は



Where 商品主コード || '-' || 商品補助コード = '入力された商品コード'

もしくは

Where 商品主コード || '-' || 商品補助コード Like '入力された商品コード%'

ではないのでしょうか?
インプットボックスが商品主コードと商品補助コードに分かれていない場合、前方一致か完全一致でないと入力する方も難しいと思います。
(つまり、「12345-00」の商品コードに対して、「45-0」と入力して「12345-00」を検索することはないと思いますが。。。)
    • good
    • 0

こんにちは。



SQLは問題なさそうですが・・・?
当然
LIKE '%' || 入力された商品コード || '%'
になってますよね?

変数が入った状態(Executeする直前)の中身は見れますか?
(デバッグモードなどで・・・)
(^^ゞ
    • good
    • 0

Select 商品名


From 商品テーブル
Where 商品主コード + '-' + 商品補助コード Like '%入力された商品コード%'


上記が無理ならインプットボックスの「12345-00」を「12345」「00」と分割したら駄目なんですか?

Select 商品名
From 商品テーブル
Where 商品主コード Like '%12345%'
  AND 商品補助コード Like '%00%'
    • good
    • 0
この回答へのお礼

ありがとうございます!

ですが、「+」だとpostgresはダメみたいです・・・。
ご指摘の通り、分割したいのですが、
商品主コードが「12-34」だったり5文字じゃなかったりするので、分割は難しいと思いまして。

もうちょっと頑張ってみます。

お礼日時:2005/02/01 14:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す