エラーはどこにありますか?
SELECT * FROM papiry
WHERE (aktivni=1 AND pocetovereni>1 ORDER BY pocetovereni DESC LIMIT1)
AND oddeleni='$oddeleni' ORDER BY nazev ASC;
助けてくれてありがとう、私はSQLが苦手です。
エラーはどこにありますか?
SELECT * FROM papiry
WHERE (aktivni=1 AND pocetovereni>1 ORDER BY pocetovereni DESC LIMIT1)
AND oddeleni='$oddeleni' ORDER BY nazev ASC;
助けてくれてありがとう、私はSQLが苦手です。
不正な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コマンドの最後に定義されています。
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
Order Byは、WHERE句の後に表示する必要があります。これは、少なくともSQLServerでは機能します。
SELECT * FROM papiry
WHERE aktivni=1 AND pocetovereni>1 AND oddeleni='$oddeleni'
ORDER BY pocetovereni DESC, nazev ASC