プロジェクトに関するいくつかの情報を含み、おおよそ以下の表のように見えるSQLテーブルがあります。この表では、プロジェクトに複数のタスクがあるため、プロジェクトに複数のインスタンスがある場合があります。各タスクにはステータスがあり、すべてのステータスにはそれに関連するIDがあります。ステータスがオープン、クローズ、請求、またはキャンセルに等しいプロジェクト1のすべてのインスタンスを取得するクエリを作成するにはどうすればよいですか?キャンセルされた状態のプロジェクト1のインスタンスがない場合でも、
PROJECT NAME|PROJECT ID|TASK|STATUS|status_code
project_1 1 seo open 5
project_1 1 blog closed 0
project_1 1 data billed 2
project_2 2 seo open 5
project_3 3 seo open 5
project_4 4 seo open 5
project_5 5 seo open 5
注:各ステータスはステータスIDに関連付けられています
0 = closed
1 = cancelled
2 = billed
3 = paid
4 = on hold
5 = open
6 = pending
今のところ、私のクエリは次のようになります
"SELECT * FROM Table WHERE project_id = 1 AND Status_Code = (0 OR 1 OR 2 OR 3 OR 4 OR 5 OR 6)"
status_code = 2 0&5の複数のインスタンスがテーブルに存在するにもかかわらず、これは何も返しません
クエリを次のように変更した場合
SELECT * FROM table WHERE project_id = 1 AND status_code = 2
ステータスコード2のすべてのインスタンスを取得しますが、クエリ対象のプロジェクトにインスタンスが存在しない可能性があるこれらのインスタンスをすべて確認できるようにする必要があります。
これを試して
SELECT * FROM Table
WHERE project_id = 1 AND Status_Code IN( 1, 2, 3, 4, 5, 6)
また、重複を除外したい場合があるので、
SELECT DISTINCT [PROJECT NAME], [PROJECT ID]
FROM Table
WHERE project_id = 1 AND Status_Code IN( 1, 2, 3, 4, 5, 6)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加