0

私はSQLが得意ではないので、この問題に少しこだわっています。データベースにクエリを実行すると、その中のすべてのリストが返されます

SELECT Id, Version, Name, ImplementationId, ManagedDataRepoId, Description, ParentId FROM Entity

たとえば、317、0、amAsset、42、82、null、null を返します

ImplementationId の値はすべて、次を使用して取得できる各項目の名前にリンクされた別のテーブルにある int です。

SELECT i.Name from Implementation i
JOIN Entity e
ON e.ImplementationId = i.Id

これは、最初のクエリからの ImplementationId 42 の名前である「 Current 」を返します。

これらを単一のクエリに結合する方法はありますか? 理想的には、次のように返されます。

317、0、amAsset、現在、82、null、null

みんなありがとう!

4

3 に答える 3

3

2 番目のクエリで既に結合を取得しています。必要な実際の列を選択するだけです。

SELECT e.Id, e.Version, e.Name, i.Name AS ImplementationId, e.ManagedDataRepoId, e.Description, e.ParentId
FROM Implementation i
     JOIN Entity e
         ON e.ImplementationId = i.Id
于 2013-05-07T19:49:43.767 に答える
2

安全のために、各列にテーブルエイリアスを使用してください

SELECT e.Id, e.Version, e.Name,i.Name, e.ManagedDataRepoId, e.Description, e.ParentId from Implementation i
JOIN Entity e
ON e.ImplementationId = i.Id
于 2013-05-07T19:52:14.247 に答える
0

...物事をきれいに(そして読みやすく)するために、より標準的な方法でレイアウトできます。

SELECT e.Id, 
       e.Version, 
       e.Name,
       i.Name, 
       e.ManagedDataRepoId, 
       e.Description, 
       e.ParentId 
FROM   Implementation i
       INNER JOIN Entity e
        ON e.ImplementationId = i.Id
于 2013-05-07T21:53:44.173 に答える