私はとAdminConsole
という名前の2つのtables
を持っています。 SectionAccessにはフィールドが含まれていますSELECT行2つのテーブルから存在しない条件
- User Access
- User ID
- Link.
1ユーザーIDにはいくつかのリンクがあります。 AdminConsole
は、各リンクは独自のプロジェクトを持っている分野
- Link
- Project ID (PPMID)
- Application ID (EPRID)
- Project Name.
を持っています。
私はRazor
を使用してwebpage
を作成しています。ここでユーザはユーザIDを入力することができ、Webページには現在そのユーザIDの下にあるプロジェクトがテーブルに表示されます。私が行ったSQLクエリは:
SELECT SectionAccess.Link, SectionAccess.UserID, AdminConsole.PPMID, AdminConsole.EPRID, AdminConsole.Proj_Name FROM SectionAccess
INNER JOIN AdminConsole ON SectionAccess.Link=AdminConsole.Link
WHERE SectionAccess.UserID like ('%" + Request["UserID"] + "%');
これは素晴らしいです。今、このテーブルの下に、そのユーザーIDに関連付けられていないプロジェクトを表示する別のテーブルを追加します。私はこれをしましたが、何も返しません。
SELECT Link, PPMID, EPRID, Proj_Name FROM AdminConsole
WHERE NOT EXISTS
(SELECT SectionAccess.Link, SectionAccess.UserID, AdminConsole.PPMID, AdminConsole.EPRID, AdminConsole.Proj_Name FROM SectionAccess
INNER JOIN AdminConsole ON SectionAccess.Link=AdminConsole.Link
WHERE SectionAccess.UserID = '" + Request["UserID"] + "');
ここで問題は何ですか?
SELECT Link, PPMID, EPRID, Proj_Name FROM AdminConsole
WHERE Link NOT IN
(SELECT SectionAccess.Link FROM SectionAccess
WHERE SectionAccess.UserID = '" + Request["UserID"] + "');
これはトリックでした。ありがとう! –