SQL2つの異なるテーブルから同じ列を選択します

rasm937k

全て順調に行きますように!

同じタイプのデータがそれぞれ1つだけで、同じ名前で2つの異なるテーブルにある2つの列から最小値と最大値を取得するために、SQLクエリを作成する必要がある状況にあります。現在、テーブルの1つからこれを取得できるクエリがありますが、2つのテーブル間のMIN日時値と2つのテーブル間のMAX日時値を取得する方法に頭を悩ませることはできません。

1つのテーブルからMAXとMINを取得するために、私は次のようにします。

SELECT idprojects, projectname, MIN(startDate), MAX(endDate)
FROM projects,
     tasks
WHERE idprojects = projectid
GROUP BY projectid

基本的に、テーブルはタスクとサブプロジェクトタスクのテーブルであり、最も早い日時タスク/ sptaskと最も遅い日時タスク/ sptaskの最初の日付を表示することによってプロジェクト全体の期間を表示したくありません。私のテーブルは次のようになります。

これがsptaskテーブルです

これがタスクテーブルです

これがプロジェクトテーブルです

したがって、私が取得したい結果は、1行のprだけです。projectid:

| projectName | idprojects | MIN(startDate) | MAX(endDate) | 

ここで、MIN(startDate)とMAX(startDate)は、sptasksテーブルとtasksテーブルの両方の間のすべての最小および最大日時値です。

私が試している間どこにも来ていないので、誰かがここで私を助けてくれることを本当に望んでいます。
良いものを持って、安全に!

ポパイ

あなたは使用することができleft join、タスクやsptaskは、各プロジェクトのために利用可能である必要はないとして。また、あなたが使用することができますgreatestし、least次のように:

SELECT p.idprojects, p.projectname, 
       MIN(least(coalesce(t.startDate,s.startdate),
                 coalesce(s.startDate,t.startdate))) as startdate,
       MAX(greatest(coalesce(t.endDate,s.enddate),
                    coalesce(s.endDate,t.enddate))) as enddate
  FROM projects p 
  left join tasks t on p.idprojects = t.projectid
  left join sptasks s on p.idprojects = s.projectid
GROUP BY p.idprojects, p.projectname

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

SQL2つのテーブルから同じ名前の2つの列を選択します

分類Dev

SQL2つ以上の無関係なテーブルからすべての列を選択します

分類Dev

1つのテーブルから同じ列を2回選択しますが、条件が異なります

分類Dev

SQL Server 2008、同じ列情報を共有しない2つの異なるテーブルから2つの列を選択して、新しいテーブルを取得します

分類Dev

2つの異なるテーブルから2つの異なる列を選択します

分類Dev

条件が異なる列として、同じテーブルから同じデータを選択します

分類Dev

同じテーブルで2つの異なる選択を「参加」しますか?

分類Dev

SQLは、列名が異なる2つの異なるテーブルから行を選択します

分類Dev

SQL:同じテーブルから列を選択します

分類Dev

2つの異なるテーブルから値を選択し、同じIDの値を行に出力します

分類Dev

SQL。2つの異なるテーブルからすべてのシリアル番号を選択します

分類Dev

SQL:CASEを使用して、2つの異なるテーブルから特定の要素を選択します

分類Dev

2つの異なるテーブルからSQLを選択

分類Dev

単一のJOINで同じテーブルから異なるユーザーを選択します

分類Dev

2つのテーブルから同じ要素を選択します

分類Dev

選択した2つの列がテーブルの1つの列からのものであるが、条件が異なる場所を選択します

分類Dev

結合を使用して2つの異なるテーブルから2つの列を選択する方法

分類Dev

異なるテーブルから3つの列を1つの列に選択します

分類Dev

SQL-異なる値を持つ別のテーブルから列を2回選択する

分類Dev

2つのparreller列に結果を与える同じテーブル内の異なるwhere条件でコマンドを選択します

分類Dev

mysqlは、3つのテーブルから1つの異なる列を選択して結合します

分類Dev

Mysql異なるテーブルの2つの列を選択します

分類Dev

SQL Server - 同じテーブル内の異なる行から値を選択する方法

分類Dev

SQL:2つの異なるテーブルから2つの異なる列をカウントします

分類Dev

codeigniter-同じ列名の2つのテーブルから選択します

分類Dev

同じIDを持つ2つのテーブルからすべての行を選択します

分類Dev

同じテーブルの2つの異なるSumを同じ列に対してクエリしますが、条件は異なりますか?

分類Dev

同じサーバー上の4つのデータベースから同じテーブルから同じ列を選択します

分類Dev

PHP / MYSQLの同じデータベースの2つの異なるテーブルからデータを選択する

Related 関連記事

  1. 1

    SQL2つのテーブルから同じ名前の2つの列を選択します

  2. 2

    SQL2つ以上の無関係なテーブルからすべての列を選択します

  3. 3

    1つのテーブルから同じ列を2回選択しますが、条件が異なります

  4. 4

    SQL Server 2008、同じ列情報を共有しない2つの異なるテーブルから2つの列を選択して、新しいテーブルを取得します

  5. 5

    2つの異なるテーブルから2つの異なる列を選択します

  6. 6

    条件が異なる列として、同じテーブルから同じデータを選択します

  7. 7

    同じテーブルで2つの異なる選択を「参加」しますか?

  8. 8

    SQLは、列名が異なる2つの異なるテーブルから行を選択します

  9. 9

    SQL:同じテーブルから列を選択します

  10. 10

    2つの異なるテーブルから値を選択し、同じIDの値を行に出力します

  11. 11

    SQL。2つの異なるテーブルからすべてのシリアル番号を選択します

  12. 12

    SQL:CASEを使用して、2つの異なるテーブルから特定の要素を選択します

  13. 13

    2つの異なるテーブルからSQLを選択

  14. 14

    単一のJOINで同じテーブルから異なるユーザーを選択します

  15. 15

    2つのテーブルから同じ要素を選択します

  16. 16

    選択した2つの列がテーブルの1つの列からのものであるが、条件が異なる場所を選択します

  17. 17

    結合を使用して2つの異なるテーブルから2つの列を選択する方法

  18. 18

    異なるテーブルから3つの列を1つの列に選択します

  19. 19

    SQL-異なる値を持つ別のテーブルから列を2回選択する

  20. 20

    2つのparreller列に結果を与える同じテーブル内の異なるwhere条件でコマンドを選択します

  21. 21

    mysqlは、3つのテーブルから1つの異なる列を選択して結合します

  22. 22

    Mysql異なるテーブルの2つの列を選択します

  23. 23

    SQL Server - 同じテーブル内の異なる行から値を選択する方法

  24. 24

    SQL:2つの異なるテーブルから2つの異なる列をカウントします

  25. 25

    codeigniter-同じ列名の2つのテーブルから選択します

  26. 26

    同じIDを持つ2つのテーブルからすべての行を選択します

  27. 27

    同じテーブルの2つの異なるSumを同じ列に対してクエリしますが、条件は異なりますか?

  28. 28

    同じサーバー上の4つのデータベースから同じテーブルから同じ列を選択します

  29. 29

    PHP / MYSQLの同じデータベースの2つの異なるテーブルからデータを選択する

ホットタグ

アーカイブ