3

私は(私の)SQLを初めて使用し、特定のクエリを作成する方法(またはそれが可能かどうか)を知る必要があります。

以下に簡略化した3つのテーブルがあります。

Actions
-------
actionID | staffID | actionDetails | actionDate


Staff
-----
staffID | departmentID | userName | firstName | lastName


Departments
-----------
departmentID | departmentName

ご覧のとおり、departmentID は Staff テーブルの FK であり、staffID は Actions テーブルの FK です。

departmentID に基づいて次のフィールドを取得します。

  • ユーザー名
  • ファーストネーム
  • 苗字
  • アクション詳細
  • アクション日付

結合を使用して単一のクエリでこれを実行できますか?

繰り返しますが、私はこれが初めてで、現時点ではちょっと頭がおかしいです。私はこれに向いているとは思いません!

4

4 に答える 4

3

このクエリを試してください。

select 
S.userName,
S.firstName,
S.lastName,
A.actionDetails,
A.actionDate
from Departments D 
join Staff S on d.departmentID=s.departmentID
join Actions A on s.staffID=A.staffID
WHERE D.departmentID = YourDeparmentID;

SQL での JOIN の種類 SQL の結合の種類

于 2013-04-30T12:33:02.787 に答える
0

部門 ID 1 の場合

SELECT
    s.userName,
    s.firstName,
    s.lastName,
    a.actionDetails,
    a.actionDate
FROM Staff AS s
LEFT JOIN Departments AS d ON d.departmentID = s.departmentID
LEFT JOIN Actions AS a ON a.staffID = s.staffID
WHERE d.departmentID = 1;
于 2013-04-30T12:32:42.840 に答える