我有一个Address_table
字段:
ADDRESS
PARCELS
我需要为每个PARCEL准备打印标签,并带有计数标签“ x from y”
ADDRESS = John, PARCELS = 3
如何使用此结果(地址,订单,订单)进行选择:
John, 1, 3
John, 2, 3
John, 3, 3
更多说明:我需要打印地址标签。对于每个地址,可以有更多标签(包裹),这是可变值。我需要知道并打印每个标签从5到1的顺序,从5到2的顺序,从5到3的顺序打印...
table address:
john
frank
bob
table parcels:
3
2
5
我需要这个SELECT结果:
john 1 3
john 2 3
john 3 3
frank 1 2
frank 2 2
bob 1 5
bob 2 5
bob 3 5
bob 4 5
bob 5 5
答案 0 :(得分:0)
尝试一下:
SELECT a.ADDRESS, b.ORDER, a.PARCELS
FROM Address_table a
INNER JOIN
(SELECT 1 AS `ORDER` UNION ALL SELECT 2 UNION ALL SELECT 3) b
ON 1=1
编辑: 您可以为1到最大PARCELS之间的数字创建其他表 例子:
CREATE TABLE Dummy_number_table (dummy_number INT(11) PRIMARY KEY)
INSERT INTO Dummy_number_table VALUES(1),(2),(3),(4),(5)
然后您可以将您的address_table与dummy_number_table一起加入
SELECT a.ADDRESS, b.ORDER, a.PARCELS
FROM Address_table a
INNER JOIN
Dummy_number_table b
ON b.Dummy_number<=a.PARCELS
ORDER BY a.ADDRESS
答案 1 :(得分:0)
更多说明:我需要打印地址标签。对于每个地址,可以有更多标签(包裹),这是可变值。我需要知道并打印每个标签从5到1的顺序,从5到2的顺序,从5到3的顺序打印...
表地址:
约翰
坦白
鲍勃
桌子包裹:
3
2
5
我需要这个SELECT结果:
约翰1 3
约翰2 3
约翰3 3
坦率1 2
坦率2 2
鲍勃1 5
鲍勃2 5
鲍勃3 5
鲍勃4 5
鲍勃5 5