これらのテーブルを考えると:
TABLE Stores (
store_id INT,
store_name VARCHAR,
etc
);
TABLE Employees (
employee_id INT,
store_id INT,
employee_name VARCHAR,
currently_employed BOOLEAN,
etc
);
各店舗の最も長く雇用されている 15 人の従業員 (たとえば、最低の 15 人としましょうemployee_id
)、または 15 人の従業員がいる場合は店舗のすべての従業員をリストしたいと考えていますcurrently_employed='t'
。join句でやりたい。
これを1行のみORDER BY
、通常は最小または最大(単一の最長雇用従業員)で行う人々の例をたくさん見つけましたが、基本的には、結合内で anと aを結合したいと考えていLIMIT
ます。これらの例のいくつかは、次の場所にあります。
また、このストアごとの適切な例を見つけました (私はありません。約 5000 のストアがあります)。
また、 andTOP
の代わりに使用できるが、PostgreSQL には使用できないことも確認しました。ORDER BY
LIMIT
従業員テーブル内で個別に作業することが可能であれば、2 つのテーブル間の結合句がこれを行うための唯一の (または必ずしも最良の方法でさえある) とは思わないstore_id
ので、他のアプローチにもオープンです。後からいつでも参加できます。
私は SQL に非常に慣れていないので、動作中の原則を理解するのに役立つ理論的背景や追加の説明が欲しいです。