我有两张桌子会员表和代金券表。会员有许多代金券,代金券有很多会员。
例如:
voucher2
如何创建查询获取所有关系成员从memberA到成员D的凭单
谢谢
发布于 2019-12-09 00:37:49
这太长了,不能发表评论。
要正确地表示members和vouchers之间的多对多关系,您确实需要第三个表,它通常称为连接表。使用这样的表将大大简化您的设计,从而简化您的查询。
考虑以下设计:
members
member_id -- primary key
-- other columns: member name, email, address...
vouchers
voucher_id -- primary key
-- other columns
members_vouchers --> junction table
member_id -- foreign key to members(member_id)
voucher_id -- foreign key to voucher(voucher_id)
primary key(member_id, voucher_id)现在,您可以轻松地生成一个查询,该查询列出所有成员及其相关凭单,例如:
select m.*, v.*
from members m
inner join members_vouchers mv on mv.member_id = m.member_id
inner join vouchers v on v.voucher_id = mv.voucher_id发布于 2019-12-09 00:32:33
SELECT V.voucher, M.member FROM VOUCHER AS V
LEFT OUTER JOIN MEMBER AS M
ON M.voucher=V.voucher
GROUP BY M.member你的桌子里有什么还不清楚。您能至少提供每个表的两行输出吗?
目前还不清楚您期望的输出是什么。你能提供你期望的好的输出结果吗?
https://stackoverflow.com/questions/59241131
复制相似问题