使用 Access 查询时,我们可以通过使用 Lookup 字段类型来简化一些数据输入,使其更易于使用。但是,这种类型的字段只适用于单个值。对于多个值,我们需要使用多项选择字段,或者手动创建另一个表。
以下是创建 Lookup 字段类型并支持多个值的示例代码:
创建表:
CREATE TABLE Orders ( OrderID INT NOT NULL PRIMARY KEY, OrderDate DATE NOT NULL, CustomerID INT NOT NULL, ProductID INT NOT NULL, Quantity INT NOT NULL, CONSTRAINT FK_CustomerID FOREIGN KEY (CustomerID) REFERENCES Customers (CustomerID), CONSTRAINT FK_ProductID FOREIGN KEY (ProductID) REFERENCES Products (ProductID) );
创建支持多个值的配送方式表:
CREATE TABLE OrderShipping ( OrderID INT NOT NULL, Shipping VARCHAR(20) NOT NULL, CONSTRAINT FK_OrderID FOREIGN KEY (OrderID) REFERENCES Orders (OrderID) );
创建 Lookup 字段类型:
ALTER TABLE Orders ADD COLUMN OrderShippingIDs VARCHAR(255) NOT NULL;
在 OrderShippingIDs 字段中输入支持多个值的配送方式:
UPDATE Orders SET OrderShippingIDs = '2,3,4' WHERE OrderID = 1;
查询 Orders 表和 OrderShipping 表,通过 JOIN 使用多项选择字段:
SELECT o.OrderID, o.OrderDate, o.CustomerID, o.ProductID, o.Quantity, s.Shipping FROM Orders o LEFT JOIN OrderShipping s ON o.OrderID = s.OrderID;
这里使用了 LEFT JOIN,因为某些订单可能没有多个配送方式。