0

私は 2 つのテーブルCorporations(business_id,corp_name) とPositions(business_id、salary、location) を持っています`

特定の場所で最も高い地位にある企業の名前を見つけようとしています。

元。オーランドで最も高い地位にある企業は? (会社名と給与が (NASCAR, 90000) のように表示されるようにしたいだけです)

SELECT MAX(salary)
FROM Positions
WHERE location = 'Orlando'
GROUP BY compid

ただし、1 つの結果の代わりに、Orlando のすべての企業とその役職給与を取得します。

4

2 に答える 2

0

ビジネス名を取得するには、2 つのテーブルを結合する必要があります。compid とは何かを教えてくれませんが、それが複数の結果 (各 comp_id に対して 1 つ) を取得する理由です。

business_id が企業の外部キーであると仮定すると、これで必要なものが得られるはずです。

SELECT Corporations.Corp_Name, MAX(Positions.Salary)
FROM Positions
INNER JOIN Corporations ON Corporations.Business_id = Positions.Business_id
WHERE Positions.Location = 'Orlando'


If comp_id is your foreign key, use this
SELECT Corporations.Corp_Name, MAX(Positions.Salary)
FROM Positions
INNER JOIN Corporations ON Corporations.Comp_id = Positions.Comp_id
WHERE Positions.Location = 'Orlando'
于 2013-10-11T18:26:26.007 に答える
-1

ISO/ANSI 標準 SQL のコード:

SELECT c.comp_name, p.salary 
FROM Positions  p
  JOIN Corporations  c
    ON c.business_id = p.business_id
WHERE p.location = 'Orlando'
ORDER BY p.salary DESC
  FETCH FIRST 1 ROWS ONLY ;
于 2013-10-11T18:30:36.227 に答える