-2

エラーはどこにありますか?

SELECT * FROM papiry 
WHERE (aktivni=1 AND pocetovereni>1 ORDER BY pocetovereni DESC LIMIT1) 
AND oddeleni='$oddeleni' ORDER BY nazev ASC;

助けてくれてありがとう、私はSQLが苦手です。

4

3 に答える 3

1

不正なSQLORDER BYがあり、句内に入力する句ではありませんWHERE。潜在的な優れたSQlは次のようになります。

SELECT * FROM papiry 
WHERE aktivni=1 
AND pocetovereni>1 
AND oddeleni='$oddeleni' 
ORDER BY ORDER BY pocet, overeni DESC, nazev ASC;

ただし、注文する列を決定する必要があります。これは、SQLコマンドの最後に定義されています。

于 2012-09-18T14:58:25.217 に答える
1
SELECT * 
FROM papiry 
WHERE (aktivni = 1 AND pocetovereni > 1) 
AND oddeleni='$oddeleni' 
ORDER BY 
     CASE WHEN ktivni = 1 AND pocetovereni > 1 THEN pocetovereni END DESC,
     CASE WHEN oddeleni='$oddeleni' THEN nazev END ASC
于 2012-09-18T14:58:51.533 に答える
0

Order Byは、WHERE句の後に表示する必要があります。これは、少なくともSQLServerでは機能します。

SELECT * FROM papiry 
WHERE aktivni=1 AND pocetovereni>1 AND oddeleni='$oddeleni' 
ORDER BY pocetovereni DESC, nazev ASC
于 2012-09-18T15:01:33.763 に答える