1

EmployeeテーブルとSalaryテーブルの2つのテーブルがあり、salaryはSalary_employeeという名前のフィールドの従業員の給与で構成されています。2つ目は、Extra Expenseです。ExtraExpenseは、extra_expenseという名前のフィールドでの電気代、オフィスのメンテナンスなど、会社の追加費用に関連するレコードで構成されます。

(これら2つのテーブルの間に関係はありません)。

最後に、会社のすべての経費をレポートに表示したかったので、両方のテーブルをグループ化する必要があります。ここで何を使用するか結合または結合??。

4

2 に答える 2

2

2つのテーブルの間に関係がない場合、費用がどこに結びつくかわからないため、これは実際には機能しません。説明に基づいてこれは不可能に聞こえるので、可能であればデータベースを再設計する必要があります。

アップデート

さて、あなたのスクリーンショットを見ると、このデータベースには1つの会社の情報しか保存されていないと思いますか?そして、複数ではありませんか?

それが正しければ、そしてあなたがしたいのが経費の1つの流れるレポートにデータを一緒に押しつぶすことだけであるなら、私は確かにを提案するでしょうUNION。AJOINはあなたが探している流れをあなたに与えないでしょう。AUNIONは2つの出力を1つにまとめるだけです...これはあなたが求めているものだと思いますか?

SELECT ext_amount AS amount, ext_date AS date_of_trans
FROM extra_expenses
UNION
SELECT sal_cash AS amount, sal_dateof_payment AS date_of_trans
FROM employee_salary
于 2012-04-07T18:36:00.553 に答える
1

groupjoin を使用する必要はないようです。スクリプト内で両方のテーブルを個別にクエリし、構造に従って両方を処理して、レポートを生成します。

Join と Union は、別々のテーブルから共通のものに関するさまざまな情報を抽出するために使用できる関数です。たとえば、あるユーザーの個人情報が 1 つのテーブルに格納されていて、そのプロファイル情報が別のテーブルに格納されている場合などです。個人情報とプロファイル情報の両方を表示する場合は、共通のユーザー名で 2 つのテーブルを結合して、ユーザーに関するすべての情報を 1 つのクエリで結合して収集できます。

于 2012-04-07T18:55:01.777 に答える