簡単な 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..」の意味がわかりました。 .'は文字列なので書き方についてアドバイスをお願いします。