2017-06-17 6 views
-2
SELECT customer_id,created,total_price 
FROM `orders` 
UNION SELECT product_id,quantity 
FROM order_items 

特定のユーザの2つのmysqlテーブルからデータを取得するのは私のコードです。特定のユーザ用の2つのmysqlテーブルからデータを取得する

 Photo attached here

+0

質問をするのを忘れた – Mureinik

+0

ここにコードを追加して質問してください。 –

+0

結果をどのように見せたいのですが、2つのテーブルの関係は何ですか? –

答えて

0

あなたは、列の数と同じ数UNIONと場合にあなたの量がnullを使用して、あなたはIFNULLに

$query = "SELECT `product_id`, `total_price`, ‌`​‌​created`, IFNULL(`quantity`,0) FROM `order_items` 
    LEFT JOIN `orders` ON `order_items`.`order_id` = `orders`.`id` 
    WHERE `orders`.`customer_id`={$_SESSION['email']}"); 
    $order_result = mysqli_query($conn, $query); 

PSを追加することができますする必要があります。正確な応答を、テーブルスキーマを貼り付けてください

+0

未定義のインデックス:quantity –

+0

これは、order_itemsに数値列を持たないことを意味します –

+0

またはnull値を持つ可能性があります –

0

order_idorder_itemsテーブルのforeinキー列であると仮定した場合、とCOUNTを使用すると、必要な値を得ることができます。例:

SELECT o.customer_id, o.created, o.total_price, COUNT(oi.id) 
FROM orders o LEFT JOIN order_items oi ON o.id = oi.order_id 
GROUP BY o.customer_id, o.created, o.total_price; 
+0

ええと... ...ありがとうございました。すべての$ order_result = mysqli_query($ conn、 "SELECT customer_id = '"。$ _ SESSION [' email ']。' '、product_id、total_price 、作成された、数量FROM order_items、orders "); –

関連する問題