gpt4 book ai didi

mysql - Microsoft Access SQL查询两个表多对一

转载 作者:行者123 更新时间:2023-11-29 10:27:20 24 4
gpt4 key购买 nike

我有一个艺术品库存表。它以 code39 条形码形式保存联系人 ID。在初始化时,我需要能够根据联系人表中包含的 id 检查此 id。每个联系人都有自己的 ID,并指定一个类型。初始化代码需要填充艺术品列表,但仅限于“存储”、“展示”和“客户端”类型的联系人所拥有的作品。我可以用 VBA 来实现,因为我没有太多编码时间来编写 Microsoft SQL 语句,但我想把 SQL 写下来。一个联系人可以被未定义数量的艺术品引用。

这些语句不起作用:\

strSQL = "SELECT [art_inventory_piece], [art_inventory_contact_id_code39]" & _
" FROM [Client Art Inventory] INNER JOIN [Client Contact]" & _
" ON [Client Art Inventory].art_inventory_contact_id_code39 = [Client Contact].contact_id_code39" & _
" WHERE [Client Contact].client_type = 'storage' or [Client Contact].client_type = 'show' or [Client Contact].client_type = 'client'"


strSQL = "SELECT [art_inventory_piece], [art_inventory_contact_id_code39]" & _
" FROM [Client Art Inventory]" & _
" WHERE [art_inventory_contact_id_code39]" & _
" in (select [contact_id_code39] from [Client Contact] where [contact_type]
= 'storage' OR [contact_type] = 'show' OR [contact_type] = 'client')" & _
" ORDER BY [contact_id] ASC"

最佳答案

我采纳了 TBridges 的建议并使用了我从未使用过的查询生成器。经过一番思考后,它用单双引号吐出了这一点。我把兔子耳朵放回去,瞧。问题似乎是,我没有从两个表中进行选择,因为我正在逐步思考。

strSQL = "SELECT [Client Art Inventory].art_inventory_contact_id_code39, [Client Art Inventory].art_inventory_piece," & _
" [Client Contact].contact_id_code39, [Client Contact].contact_type" & _
" FROM [Client Art Inventory] INNER JOIN [Client Contact]" & _
" ON [Client Art Inventory].art_inventory_contact_id_code39 = [Client Contact].contact_id_code39" & _
" WHERE ((([Client Contact].contact_type)='storage' Or ([Client Contact].contact_type)='show' Or ([Client Contact].contact_type)='client'))"

[编辑]

第二次查看问题后,很明显 select 语句本身不应该受到指责。我只需要查看 [Client Art Inventory].art_inventory_piece 并且将字段添加到 select 语句中甚至没有意义。看来我在 where 语句中的格式(括号)尤其应该受到指责。

关于mysql - Microsoft Access SQL查询两个表多对一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48055342/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com