我有两个表我想从表1中选择一些特定数量的记录。记录数必须等于表2中的值。
表1
表2
输出中的记录数必须等于表2中的qty列。是否可以使用访问权限,或者我必须使用VBA。
答案 0 :(得分:1)
您可以使用笛卡尔(乘法)查询:
SELECT
Products.*,
Barcodes.*
FROM
(SELECT DISTINCT
[Tens]+[Ones] AS Factor,
10*Abs([Deca].[id] Mod 10) AS Tens,
Abs([Uno].[id] Mod 10) AS Ones
FROM
MSysObjects AS Uno,
MSysObjects AS Deca) AS F,
Products
INNER JOIN
Barcodes
ON Products.Barcode = Barcodes.Barcode
WHERE
F.Factor <= Barcodes.Qty;
每个条形码最多可创建100个标签。
答案 1 :(得分:0)
"Top N"
限制了记录数量。
"Select Top 5 Barcode, Brand, Qty FROM Table1 WHERE Barcode = 4044228585563"
使用Union从多个项目中选择前N个记录
Select Top 5 Barcode, Brand, Qty FROM Table1 WHERE Barcode = 4044228585563
Union
Select Top 5 Barcode, Brand, Qty FROM Table1 WHERE Barcode = 4029045653046