仅在连接查询中与一个或多个列不同

时间:2015-09-23 06:49:24

标签: sql database ms-access

我有一个连接三个表的查询,让我们说TransactionTransactionIcdDetailsTransactionMedicineDetails,并且每个表都通过事务的ID链接

我的表格如下:

交易

id | price | transaction_date
------------------------------
01 | $3.00 | 23/09/2015

TransactionIcdDetails

id | transaction_id | icd
------------------------------
01 | 01             | ICD01
02 | 01             | ICD02

TransactionMedicineDetails

id | transaction_id | medicine
------------------------------
01 | 01             | MDC01
02 | 01             | MDC02

我想让查询将它们链接成一个,我使用查询设计来实现这个目标,但结果看起来像这样:

id |  icd  | medicine | price | transaction_date
------------------------------
01 | ICD01 | MDC01    | $3.00 | 23/09/2015
01 | ICD01 | MDC02    | $3.00 | 23/09/2015
01 | ICD02 | MDC01    | $3.00 | 23/09/2015
01 | ICD02 | MDC02    | $3.00 | 23/09/2015

请注意,icd重复两次,与medicine相同 我想要的输出 应如下所示:

id |  icd  | medicine | price | transaction_date
------------------------------
01 | ICD01 | MDC01    | $3.00 | 23/09/2015
01 | ICD02 | MDC02    | $3.00 | 23/09/2015

我如何进行这样的查询?似乎我不能仅将Distinct用于少数几列。 如果您认为我做错了,请随意纠正我应该如何实现这一点。

更新 我可以通过创建TransactionMedicineDetails.IdTransactionIcdDetails.Id之间的关系来实现它。

然而,当我有不相等数量的细节时,一切都会出错,假设我有3行TransactionMedicineDetails和2行TransactionIcdDetails用于单个Transaction(反之亦然) ),没有对的那个不会出现在查询中。

知道如何让它们全部出现吗?

0 个答案:

没有答案
相关问题