ホームページ  >  記事  >  バックエンド開発  >  簡単な SQL を要求する

簡単な SQL を要求する

WBOY
WBOYオリジナル
2016-06-23 14:21:27895ブラウズ

簡単な SQL を要求します:

select * from eload_goods where Goods_sn like '(select left(goods_sn,9) as Goods_sn from eload_goods where Goods_id = 126300 limit 1)%'
この SQL の何が問題ですか? 結果が見つかりません。

select * from eload_goods where Goods_sn = (select left(goods_sn,9) as Goods_sn from eload_goods where Goods_id = 126300 limit 1)
このようにして、検索結果が得られます

注: サブクエリは正しいです。結果を返します: IE0384701
Goods_sn は varchar データ型です


ディスカッションに返信 (解決策)

% を追加することは何を意味しますか

何も問題はありません
しかし、私はそれがあるとは決して信じません (左を選択) (goods_sn,9) in your table ) as Goods_sn from eload_goods where Goods_id = 126300 制限 1)... このような文字列

は間違っていません
ですが、(select left(goods_sn,9) as Goods_sn from) があるとは決して信じませんeload_goods where Goods_id = 126300 limit 1)... このような文字列

モデレータ、あなたは間違っています
(select left(goods_sn,9) as Goods_sn from eload_goods where Goods_id = 126300 limit 1) などもあります。

問題は解決され、答えが添付されます:
SELECT * FROM eload_goods WHERE Goods_sn LIKE (SELECT CONCAT(LEFT(goods_sn,9),'%') AS Goods_sn FROM eload_goods WHERE Goods_id = 126300 LIMIT 1 )

どこが間違っていますか?
select * from eload_goods where Goods_sn like '(select left(goods_sn,9) as Goods_sn from eload_goods where Goods_id = 126300 limit 1)%'
文字列がわかりませんか?

SELECT * FROM eload_goods WHERE Goods_sn LIKE (SELECT CONCAT (LEFT( Goods_sn,9),'%') AS Goods_sn FROM eload_goods WHERE Goods_id = 126300 LIMIT 1)

この SQL めんどくさくないですか?

どこで間違えたのでしょうか?
select * from eload_goods where Goods_sn like '(select left(goods_sn,9) as Goods_sn from eload_goods where Goods_id = 126300 limit 1)%'
文字列がわかりません

MYSQL サブクエリは制限をサポートしていません。制限 1 が原因です エラーです
Goods_id が主キーの場合、制限 1 は完全に不要でサポートされません

エラーの原因は一重引用符内にあります。一重引用符内の内容は検索されません。エリアは直接一致

SELECT * FROM eload_goods WHERE Goods_sn LIKE (SELECT CONCAT(LEFT(goods_sn,9),'%') AS Goods_sn FROM eload_goods WHERE Goods_id = 126300 LIMIT 1)


このSQLってめんどくさくないですか?

どうすればもっと上手に書けますか?

どこで間違えたのでしょうか?

select * from eload_goods where Goods_sn like '(select left(goods_sn,9) as Goods_sn from eload_goods where Goods_id = 126300 limit 1)%'
文字列がわかりません

「select..」の意味がわかりました。 .'は文字列なので書き方についてアドバイスをお願いします。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。