私はDBをAccessからSQLiteに変換しているため、すべてのSQLクエリも変換/デバッグする必要があります。この全体に来た:SQLiteでのアクセス "SELECT DISTINCTROW * FROM ..."と同等の機能は何ですか?
SELECT DISTINCTROW * FROM table WHERE column = value ORDER BY column2;
SQLiteを使用して同等のクエリは何ですか?
私はDBをAccessからSQLiteに変換しているため、すべてのSQLクエリも変換/デバッグする必要があります。この全体に来た:SQLiteでのアクセス "SELECT DISTINCTROW * FROM ..."と同等の機能は何ですか?
SELECT DISTINCTROW * FROM table WHERE column = value ORDER BY column2;
SQLiteを使用して同等のクエリは何ですか?
SELECT DISTINCT * FROM table WHERE column = value ORDER BY column2;
関与する唯一つのテーブル、DISTINCT
ようDISTINCTROW
行為がありますので。
...そういう意味では、何も使わない可能性が高いです。すべての単一の値が別のレコードの値と同じであるレコードの束がある場合は、データが不良です。なぜDISTINCTを使用しているテーブルにこれらの重複レコードがあるのかという疑問があります。テーブルにプライマリキーがある場合、SELECT DISTINCTはそれ自身でSELECTと異なるものを返さないため、キーワードなしでSELECTを使用する必要があります。 –
@ David-W-Fentonお金の上には、データベースデザインの可能性があります。おそらくAccessからSQLiteへのこの転送は、うまくいったスキーマに向かうデータのクリーンアッププロセスの一部ですか? – MPelletier
残念ながら今のところはありません。プロジェクトの主な焦点は、DBを使用するアプリケーションの変換ですが、DBを再設計することはまだ計画の一部ではありません。多分未来。いいだろう。 –
これに相当するのは、すべてのテーブルにキーがあり、ジョインと残りのクエリを正しく実装することです。そうすれば、DISTINCTROWのようなものは決して必要ありません。 DISTINCTROWはジェットからの愚かさの単なる遺産ではありません。
SELECT *は実践的ではありません。列を名前でリストします。
これは、Access 95より前のAccessアプリケーションからの偶然のSQLですか? Access 2以前では、SELECT DISTINCTROWがすべてのSELECTのデフォルトでした。 –
わかりません。それは、DBを使用するアプリ内の1つの場所にしかありません。私がテストしたDBはAccess 95でした。 –
間違ってはいけません:DISTINCTROWは素晴らしく、多くの編集可能性の問題を解決します。しかし、それは確かに非標準のSQLであり、あなたが解決し、編集可能性の問題が必要なときにのみ使用されるべきです。 –