0

我有两个表,我想从表 1 中选择一些特定数量的记录。记录数必须等于表 2 中提到的值。

表格1
表格1

表2
表 2

输出中的记录数必须等于表 2 中的 qty 列。是否可以使用访问或我必须使用 VBA。

4

2 回答 2

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 个标签。

于 2018-05-21T10:31:25.037 回答
0

"Top N"限制记录的数量。

"Select Top 5 Barcode, Brand, Qty FROM Table1 WHERE Barcode = 4044228585563"

使用 Union 从多个 Item 中选择 Top N 记录

Select Top 5 Barcode, Brand, Qty FROM Table1 WHERE Barcode = 4044228585563
Union
Select Top 5 Barcode, Brand, Qty FROM Table1 WHERE Barcode = 4029045653046
于 2018-05-21T08:47:43.813 回答