SELECT t1.pgrpname, t1.pgrpval, t0.prodname
FROM tproduct t0 inner join lpropgr l0 on l0.prodsern=t0.prodsern
INNER JOIN tpgroups t1 on t1.pgrsern=l0.pgrsern
WHERE lower(t1.pgrpname) in ('brand', 'class1', 'display')
ORDER BY t1.pgrpname collate nocase, t1.pgrpval collate nocase, t0.prodname collate nocase
質問する
276 次
2 に答える
0
したがって、答えは、クエリ全体を作成する in ('brand', 'class1', 'display')
ために変更することでした。in ('%@') and not('x' == substr(t0.prodname, 1, 1))
SELECT t1.pgrpname, t1.pgrpval, t0.prodname
FROM tproduct t0
INNER JOIN lpropgr l0 on l0.prodsern=t0.prodsern
INNER JOIN tpgroups t1 on t1.pgrsern=l0.pgrsern
WHERE lower(t1.pgrpname) in ('%@')
AND NOT('x' == substr(t0.prodname, 1, 1))
ORDER BY t1.pgrpname collate nocase, t1.pgrpval collate nocase, t0.prodname collate nocase
知りたいと思った人のためだけに。
于 2013-03-08T19:38:30.120 に答える
0
そのSQLが機能するはずです。
SELECT t1.pgrpname, t1.pgrpval, t0.prodname
FROM tproduct t0 inner join lpropgr l0 on l0.prodsern=t0.prodsern
INNER JOIN tpgroups t1 on t1.pgrsern=l0.pgrsern
WHERE lower(t1.pgrpname) in ('brand', 'class1', 'display')
AND lower(substr(t0.prodname,1)) != (substr(t0.prodname,1))
ORDER BY t1.pgrpname collate nocase, t1.pgrpval collate nocase
列の最初の文字を下位バージョンの文字と比較するだけです
編集:申し訳ありませんが、開き括弧を逃しました。
これはチェックするだけですlowercase x
SELECT t1.pgrpname, t1.pgrpval, t0.prodname
FROM tproduct t0 inner join lpropgr l0 on l0.prodsern=t0.prodsern
INNER JOIN tpgroups t1 on t1.pgrsern=l0.pgrsern
WHERE lower(t1.pgrpname) in ('brand', 'class1', 'display')
AND lower(substr(t0.prodname,1)) != 'x'
ORDER BY t1.pgrpname collate nocase, t1.pgrpval collate nocase
于 2013-03-03T13:54:40.030 に答える