我有两张桌子。
for offset in {0..75..25}; do
/usr/local/bin/virtual_process "$(( baseServerId + offset ))"
done
数据是这样的
表A
Table Name : Field Name
table A : ID, product_ID
table B : product_ID, product_type,product_num
表B
+++++++++++
id + product_id
+++++++++++
1 + apple
2 + orange
+++++++++++
我可以得到像
这样的结果吗?+++++++++++++++++++++++++++++++
product_id + product_type + product_num
+++++++++++++++++++++++++++++++
apple + red + 10
apple + blue + 20
orange + red + 5
orange + blue + 15
+++++++++++++
答案 0 :(得分:0)
1 + red + 10
1 + blue + 20
2 + red + 5
2 + blue + 15
要获得您想要的东西,您可以尝试:
选择唯一的产品名称,B.product-num为red-num,C.product-num为蓝色数字,B为B,B为C,A,其中A.id = B.product-id和A.id = C.product-id和B.product-type =" red"和C.product-type =" blue&#34 ;;
我还没有对它进行过测试,因为我还没有运行mysql服务器。希望它有效。如果它不起作用,请删除它,你可能会得到类似于你需要的东西。
答案 1 :(得分:0)
好的,这是一个典型的表格枢轴问题。
你可以这样做;)
<强>模式强>:
CREATE TABLE product
(`product_id` varchar(6), `product_type` varchar(4), `product_num` int)
;
INSERT INTO product
(`product_id`, `product_type`, `product_num`)
VALUES
('apple', 'red', 10),
('apple', 'blue', 20),
('orange', 'red', 5),
('orange', 'blue', 15)
;
<强>查询强>:
SELECT
product_id,
SUM(IF(product_type = 'red', product_num, 0)) AS red_num,
SUM(IF(product_type = 'blue', product_num, 0)) AS blue_num
FROM product
GROUP BY product_id
<强> Results 强>:
| product_id | red_num | blue_num |
|------------|---------|----------|
| apple | 10 | 20 |
| orange | 5 | 15 |
您可以查看MySQL pivot table。