2011-08-02 6 views
-1

同じMySQLクエリ(phpまたはc#のいずれか)にWHEREORDER BYを使用しようとすると、機能しません。私はいつもこれを行うための別の方法を見つけることができましたが、私はなぜそれらを一度に使うことができないのだろうと思っています。ありがとう。なぜWHEREとORDER BYは互換性がありませんか?

EDIT:今は動作しているようだが、私はこれまでこれまで私のために働いたことはないと神に誓う!彼らが配置されている順番に関係なく:sあなたはとにかくありがとう! :)

+1

私は混乱しています...あなたは何について話していますか?例? –

+0

あなたの質問の例を見せてください。 – RiaD

+2

どのようなエラーが表示されますか? –

答えて

7

これらは両方とも使用できますが、正しい順序で配置する必要があります。

SELECT * 
FROM table t 
WHERE t.field 
ORDER BY t.field1 

私はそれを読むことをお勧めします。

WHERE

ORDER BY

2

絶対にそれらを一度に使用できます。

0

PEBKAC:これは、MySQLとの問題ではありません。

2

両方を同じステートメント内で使用できます。

私はぶっきらぼう考えることができる唯一の事はこれです...彼らは互換性があることになっている

SELECT * 
    FROM Table 
WHERE Column = Something 
ORDER 
    BY ColumnId 
0

:あなたは、彼らが正しい順序になっていることを確認する必要がありますあなたがORDER BYWHEREを使用しています? RDBMSの実装によっては、クエリの部分の順序が非常に重要です。

2

非常に互換性があります。私はの構文が間違っていると思われますです。 の書き方を正しくするには、投稿に「間違った」構文を含めてください。

これは有効なSQL(そのようなスキーマが存在すると仮定)である:

SELECT age 
FROM users 
WHERE age > 42 
ORDER BY age ASC 

ORDER BYが端部に来るように持っていること。

特定のデータベースについては、SELECT syntaxを参照してください(ベンダーとバージョンの間に偏差があります)。 C#LINQはSQLに「似ています」、ですが、 SQLではありません。

ハッピーコーディング。

関連する問題