複数の行から2つのテーブルを結合するMYSQL

ニミッツE。

2つのテーブルがあります。1つはすべての製品用で、もう1つは新規購入製品用です。

製品表

Item    Qty
301       2
302       5
303       3
304       4
305       6

購入表

Item     Qty    Status    Date
302       5     used      09-15-2015
303       5     reserve   09-20-2015
301       5     used      09-20-2015
302       5     reserve   09-20-2015
304       5     used      10-15-2015
303       5     reserve   10-15-2015

商品テーブルにいくつの数量を表示し、その数量をpurchases table結合したいProduct Table

これは私の最初のSQLクエリです

SELECT product_name, product_quantity, quantity 
FROM products 
    LEFT OUTER JOIN purchases ON products.ID = purchases.product_ID 
WHERE product_status !='deleted' AND status != 'used'`. 

ただし、返品purchases tableは予備の商品のみとなります

私が達成したいのは

Item    Qty    Reserved Qty    Total
301       2     0                 2
302       5     5                 10
303       3     10                13
304       4     0                 4
305       6     0                 6

新しいSQLクエリを更新します

SELECT product_name, product_quantity, p.quantity 
FROM products 
    LEFT OUTER JOIN (SELECT * FROM purchases 
        WHERE status = 'reserved' 
        GROUP BY product_ID) AS  p ON p.product_ID = products.ID 
WHERE products.product_status !='deleted'`

ただし、予約済みの数量では0を返します。

mynawaz

予約済みアイテムの数量を合計してからGROUP BY、次のように使用する必要があることを除いて、クエリに関してはほぼそこにあります。

SELECT
    pd.item AS 'Item', pd.qty AS 'Qty', IFNULL(pr.reserved_quantity, 0) AS 'Reserved Qty', (pd.qty+IFNULL(pr.reserved_quantity, 0)) AS 'Total'
FROM
    product pd
    LEFT OUTER JOIN (SELECT item, SUM(qty) AS 'reserved_quantity' FROM purchases WHERE `status`='reserve' GROUP BY 1) AS pr ON pd.item=pr.item

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

MySQL 2つのテーブルを結合し、複数の行を1つに結合します

分類Dev

複数の値で2つのMySQLテーブルを結合する

分類Dev

複数の行で2つのテーブルを結合する

分類Dev

MySQL:複数の結果行を持つテーブルを1つの行に結合する

分類Dev

MySQLは3つのテーブルを結合し、1つのテーブルからの結果を除外する複数の列があります

分類Dev

MySQLの複数のテーブルからの複数の行を結合します

分類Dev

Mysql、テーブルを結合し、異なる行からの複数の条件があります

分類Dev

2つのテーブル、複数の行を1つの行の異なる列に結合する

分類Dev

複数のテーブルから結合された行を取得する

分類Dev

mysqlの2つのテーブルを結合し、複数の行を1つのセルに連結する方法は?

分類Dev

mysql の結合を使用して、1 つのテーブルから 1 つの行を選択し、他のテーブルから複数の行を選択する方法、

分類Dev

MySQLは2つのテーブルを結合し、複数の行を返します

分類Dev

1つのテーブルから複数の行のテーブルに単一の値を結合する-Oracle

分類Dev

他の2つのテーブルから1つのテーブルに複数の行を挿入する

分類Dev

SELECTステートメントの複数の行にある複数のMySqlテーブルのデータを1つの行に結合する

分類Dev

2つのMysqlテーブルを結合して複数の列の名前をフェッチする

分類Dev

mysqlの外部結合テーブル(2つ以上のテーブル)から値を取得する方法

分類Dev

テーブル内の複数の行から範囲を抽出し、1つに結合します

分類Dev

MySql:この2つのテーブルを複数のピボットで結合する方法

分類Dev

mysql-2つのテーブルを結合して、同じテーブルの他の行からデータを取得する

分類Dev

Mysql 2つのテーブルを1つの出力に結合しますが、結果のサブクエリは複数の行を返します

分類Dev

1つのphp関数で2つの異なるテーブルから2つのmysqlクエリを結合しようとする際の問題

分類Dev

複数の配列で2つのテーブルを結合するmongodb

分類Dev

複数の条件で2つのテーブルを結合する-SQLServer

分類Dev

MySQLは、結合を使用して複数のテーブルから行をカウントします

分類Dev

MySQL複数のテーブル(外部キー)からのデータを配列に結合する

分類Dev

同じテーブルからの2つの結果を結合するSparkSQL

分類Dev

Railsで1:Nテーブルを結合し、レコードの複数の行の代わりに、結合されたテーブルからIDの配列を含む追加の列を持つ1つの行を取得する方法

分類Dev

mysqlの異なるテーブルからの複数の列を使用して結合します

Related 関連記事

  1. 1

    MySQL 2つのテーブルを結合し、複数の行を1つに結合します

  2. 2

    複数の値で2つのMySQLテーブルを結合する

  3. 3

    複数の行で2つのテーブルを結合する

  4. 4

    MySQL:複数の結果行を持つテーブルを1つの行に結合する

  5. 5

    MySQLは3つのテーブルを結合し、1つのテーブルからの結果を除外する複数の列があります

  6. 6

    MySQLの複数のテーブルからの複数の行を結合します

  7. 7

    Mysql、テーブルを結合し、異なる行からの複数の条件があります

  8. 8

    2つのテーブル、複数の行を1つの行の異なる列に結合する

  9. 9

    複数のテーブルから結合された行を取得する

  10. 10

    mysqlの2つのテーブルを結合し、複数の行を1つのセルに連結する方法は?

  11. 11

    mysql の結合を使用して、1 つのテーブルから 1 つの行を選択し、他のテーブルから複数の行を選択する方法、

  12. 12

    MySQLは2つのテーブルを結合し、複数の行を返します

  13. 13

    1つのテーブルから複数の行のテーブルに単一の値を結合する-Oracle

  14. 14

    他の2つのテーブルから1つのテーブルに複数の行を挿入する

  15. 15

    SELECTステートメントの複数の行にある複数のMySqlテーブルのデータを1つの行に結合する

  16. 16

    2つのMysqlテーブルを結合して複数の列の名前をフェッチする

  17. 17

    mysqlの外部結合テーブル(2つ以上のテーブル)から値を取得する方法

  18. 18

    テーブル内の複数の行から範囲を抽出し、1つに結合します

  19. 19

    MySql:この2つのテーブルを複数のピボットで結合する方法

  20. 20

    mysql-2つのテーブルを結合して、同じテーブルの他の行からデータを取得する

  21. 21

    Mysql 2つのテーブルを1つの出力に結合しますが、結果のサブクエリは複数の行を返します

  22. 22

    1つのphp関数で2つの異なるテーブルから2つのmysqlクエリを結合しようとする際の問題

  23. 23

    複数の配列で2つのテーブルを結合するmongodb

  24. 24

    複数の条件で2つのテーブルを結合する-SQLServer

  25. 25

    MySQLは、結合を使用して複数のテーブルから行をカウントします

  26. 26

    MySQL複数のテーブル(外部キー)からのデータを配列に結合する

  27. 27

    同じテーブルからの2つの結果を結合するSparkSQL

  28. 28

    Railsで1:Nテーブルを結合し、レコードの複数の行の代わりに、結合されたテーブルからIDの配列を含む追加の列を持つ1つの行を取得する方法

  29. 29

    mysqlの異なるテーブルからの複数の列を使用して結合します

ホットタグ

アーカイブ