如何在ACCESS中实现多对多关系的查询

来源:百度知道 编辑:UC知道 时间:2024/05/18 11:33:57
假设有三个表:
1、Product:
Product _ID(主键),Product_NAME
P1001 XXX
P1002 YYY

2、Order:
Order_ID(主键),Customer_NAME
O001 A
O002 B

3、OrderDetail:(中间表)
Order_ID(主键),Product _ID(主键),Quantity
O001 P1001 500
O001 P1002 300
O002 P1002 800

Order与OrderDetail为一对多的关系,Product与OrderDetail也是一对多的关系。

一个窗体:
1、Report
Order_ID,Customer_NAME,Product _ID,Product_NAME ,Quantity
O001 A P1001 XXX 500

请问要如何实现在Report窗体中分别录入Order_ID, Product _ID后自动跳出Quantity值。
上述数据只是举例,还有很多条不同的记录,所以无法根据具体的条件值来查询。

select * from Product,Order,OrderDetail where Product.Product _ID=OrderDetail.Product _ID and Order.Order_ID=OrderDetail.Order_ID and Order.Order_ID = 'O001' AND Product.Product _ID='P1001'

先把三个表关联起来,然后想查哪个表的哪个字段都可以了

SELECT Quantity FROM OrderDetail WHERE Order_ID = '"+Order_ID+"'AND '"+Product_ID+"'
Order_ID,Product _ID是你窗体中动态接收数据的变量
这是写到Java或C#里面的Sql语句
Access我不会,但跟SQL思想是一样的
你把他改装下吧

SELECT Quantity FROM OrderDetail WHERE Order_ID = 'O001' AND 'P1001' 不是就可以了么?