2つの異なるテーブルから結合クエリを実行したいのですが、両方のテーブルからの出力が必要です

ブーミ・パテル

私は適用LEFT JOINをし、RIGHT JOINの両方のテーブルからの出力を取得するクエリを..

2つのテーブルがあります:

Product_listの最初のテーブル。このテーブルには、外部キーであるcategory_idと他のすべての製品の詳細が含まれています。

ここに画像の説明を入力してください

product_imagesの2番目のテーブル。このテーブルには、外部キーであるproduct_idと製品イメージが別々に含まれています。

ここに画像の説明を入力してください

特定のcategory_idの商品の詳細と商品の画像が必要です。

私はこのクエリを使用しますが、正しく機能しません:

SELECT * 
FROM product_list
LEFT JOIN product_images ON product_list.pro_id = product_images.pro_id
WHERE product_list.cat_id =  '.$id.'
UNION 
SELECT * 
FROM product_list
RIGHT JOIN product_images ON product_list.pro_id = product_images.pro_id   

私はこの出力を取得します: ここに画像の説明を入力してください

APIコード

<?php
error_reporting(0);

$response = array();

require_once __DIR__ . '/db_Connect.php';

// check for post data
if (isset($_GET["cat_id"])) {

    $id = $_GET['cat_id'];

    // get a product from products table
    //$q="SELECT * FROM product_list WHERE cat_id ='".$id."' ORDER BY pro_id DESC ";
    $q="SELECT * 
FROM product_list
LEFT JOIN product_images ON product_list.pro_id = product_images.pro_id
WHERE product_list.cat_id =  '.$id.'
UNION 
SELECT * 
FROM product_list
RIGHT JOIN product_images ON product_list.pro_id = product_images.pro_id WHERE product_list.cat_id =  '.$id.'";
    //print($q);
    $res = mysql_query($q);
    print($res);
    //exit();
    if (mysql_num_rows($res) > 0) {

        $responce["category_sub_list"]=array();

        // check for empty result
        while($result = mysql_fetch_array($res)) {

        $product=array();
        $product['pro_id']=$result['pro_id'];
        $product['cat_id']=$result['cat_id'];  
        $product['product_name']=$result['product_name'];
        $product['image']="http://friendzfashionz.com/pandora/admin/Sub_uploads/".$result['image'];
        $product['product_desc']=$result['product_desc'];

        array_push($responce["category_sub_list"],$product);
        } 
         $responce["success"]=1;
         echo json_encode($responce);

    } else {
        // no product found
        $response["success"] = 0;
        $response["message"] = "No user found";

        // echo no users JSON
        echo json_encode($response);
    }
} else {
    // required field is missing
    $response["success"] = 0;
    $response["message"] = "Required field(s) is missing";

    // echoing JSON response
    echo json_encode($response);
}
?>
スミットラバル

このクエリを試してください。両方のクエリでwhere条件を適用する必要があります。

SELECT * 
FROM product_list
LEFT JOIN product_images ON product_list.pro_id = product_images.pro_id
WHERE product_list.cat_id =  '.$id.'
UNION 
SELECT * 
FROM product_list
RIGHT JOIN product_images ON product_list.pro_id = product_images.pro_id WHERE product_list.cat_id =  '.$id.'  

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Google BigQuery:異なるテーブルの結合から作成されたテーブルがプレビューモードで値を表示しないのはなぜですか?クエリを実行するときだけですか?

分類Dev

サブクエリなしで2つのテーブルの結合から最大IDの行を取得する

分類Dev

結果が異なる場合に異なるテーブルからデータを取得するためのクエリを実行する方法

分類Dev

Where条件が異なる1つのテーブルから2つのクエリの結果を取得する

分類Dev

SQL on Oracle:すでに2つのテーブルを結合していますが、別のテーブルから別の列が必要です(別の結合)

分類Dev

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

分類Dev

2つの異なるテーブルからの2つのクエリを結合する方法

分類Dev

共通列と非共通列を持つ2つのテーブルからテーブルを実行するにはクエリが必要です

分類Dev

異なるテーブルからの 2 つのクエリを結合するにはどうすればよいですか

分類Dev

データが見つからず、両方のテーブルに一意の列がある場合でも、2つのテーブルからデータを取得するMySQLクエリ

分類Dev

同じテーブルから、異なるフィルターを使用して、2つのSelect sum SQLクエリを結合できますか?

分類Dev

結合する共通の列がない2つのテーブルからselectクエリを使用してクエリを挿入します

分類Dev

2つの異なるテーブルのJSON配列からクエリを実行するにはどうすればよいですか?

分類Dev

異なるテーブルからの2つのSQLクエリを結合する

分類Dev

このクエリで2つのテーブルからデータをプルして新しいテーブルを作成しようとすると、「エラー:すべての派生テーブルには独自のエイリアスが必要です」

分類Dev

MySQL-2つのテーブルから両方の値を持たない行を返します

分類Dev

値が使用可能な場合と使用できない場合の両方で、2つのテーブルの行を結合する

分類Dev

両方の列に部分的に類似したデータがある2つの異なるテーブルの2つの列を結合します

分類Dev

1つのフィールドが共通している場合に、2つのテーブルからすべての行とすべての列を返すクエリが必要です

分類Dev

条件が異なる同じ列の合計を返す1つのテーブルからのmysqlクエリ

分類Dev

条件が異なる同じ列の合計を返す1つのテーブルからのmysqlクエリ

分類Dev

2つの異なる行の列値を比較しながらテーブルをクエリする方法は?

分類Dev

テーブルから以下の結果を取得するための正しいクエリは何である必要がありますか

分類Dev

最初のテーブルに値がない場合にテーブルを結合するLinqクエリは、2番目からフェッチします

分類Dev

テーブルとgroupbyの両方で複数の合計クエリを使用して2つのテーブルを結合する方法

分類Dev

テーブル1の*すべての*行が存在しない場合にテーブル2から行を選択するMySQLクエリ

分類Dev

異なるテーブルからの複数のクエリ結果を1つのクエリ結果テーブルに結合する

分類Dev

2つの異なるmysqlテーブルから特定のクエリ結果を取得します

分類Dev

2つの異なるテーブルから合計するクエリ

Related 関連記事

  1. 1

    Google BigQuery:異なるテーブルの結合から作成されたテーブルがプレビューモードで値を表示しないのはなぜですか?クエリを実行するときだけですか?

  2. 2

    サブクエリなしで2つのテーブルの結合から最大IDの行を取得する

  3. 3

    結果が異なる場合に異なるテーブルからデータを取得するためのクエリを実行する方法

  4. 4

    Where条件が異なる1つのテーブルから2つのクエリの結果を取得する

  5. 5

    SQL on Oracle:すでに2つのテーブルを結合していますが、別のテーブルから別の列が必要です(別の結合)

  6. 6

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

  7. 7

    2つの異なるテーブルからの2つのクエリを結合する方法

  8. 8

    共通列と非共通列を持つ2つのテーブルからテーブルを実行するにはクエリが必要です

  9. 9

    異なるテーブルからの 2 つのクエリを結合するにはどうすればよいですか

  10. 10

    データが見つからず、両方のテーブルに一意の列がある場合でも、2つのテーブルからデータを取得するMySQLクエリ

  11. 11

    同じテーブルから、異なるフィルターを使用して、2つのSelect sum SQLクエリを結合できますか?

  12. 12

    結合する共通の列がない2つのテーブルからselectクエリを使用してクエリを挿入します

  13. 13

    2つの異なるテーブルのJSON配列からクエリを実行するにはどうすればよいですか?

  14. 14

    異なるテーブルからの2つのSQLクエリを結合する

  15. 15

    このクエリで2つのテーブルからデータをプルして新しいテーブルを作成しようとすると、「エラー:すべての派生テーブルには独自のエイリアスが必要です」

  16. 16

    MySQL-2つのテーブルから両方の値を持たない行を返します

  17. 17

    値が使用可能な場合と使用できない場合の両方で、2つのテーブルの行を結合する

  18. 18

    両方の列に部分的に類似したデータがある2つの異なるテーブルの2つの列を結合します

  19. 19

    1つのフィールドが共通している場合に、2つのテーブルからすべての行とすべての列を返すクエリが必要です

  20. 20

    条件が異なる同じ列の合計を返す1つのテーブルからのmysqlクエリ

  21. 21

    条件が異なる同じ列の合計を返す1つのテーブルからのmysqlクエリ

  22. 22

    2つの異なる行の列値を比較しながらテーブルをクエリする方法は?

  23. 23

    テーブルから以下の結果を取得するための正しいクエリは何である必要がありますか

  24. 24

    最初のテーブルに値がない場合にテーブルを結合するLinqクエリは、2番目からフェッチします

  25. 25

    テーブルとgroupbyの両方で複数の合計クエリを使用して2つのテーブルを結合する方法

  26. 26

    テーブル1の*すべての*行が存在しない場合にテーブル2から行を選択するMySQLクエリ

  27. 27

    異なるテーブルからの複数のクエリ結果を1つのクエリ結果テーブルに結合する

  28. 28

    2つの異なるmysqlテーブルから特定のクエリ結果を取得します

  29. 29

    2つの異なるテーブルから合計するクエリ

ホットタグ

アーカイブ