当前位置: 首页 > 面试题库 >

SQL查询以匹配卖家和买家

钱均
2023-03-14
问题内容

好吧,我和人在一起有一张桌子。一张桌子摆放着被赠予的物品,另一张桌子放着人们想要的物品。

People:
Person_ID, Name

Giveaways:
Person_ID, Item_ID

Wishlist:
Person_ID, Item_ID

所以我想要一个查询,该查询返回特定用户的交换建议。

因此,如果我想与人A交换建议,则应返回正在赠送人A想要的物品的人的清单,并希望得到人A所赠送的物品。结果应包括:人员A的项目,人员名称也要进行交换以及ID和item_ID。


问题答案:

@SrrgioMichels的答案应该是正确的。但是它没有得到卖方的名字,并且它使用的语法(在我看来)应该避免。

所以,这是一个替代方案…

SELECT
  buyer.name          AS buyer,
  buyerWants.name     AS buyer_wants,      (assuming the items have names),
  buyerHas.name       AS buyer_has,
  seller.name         AS seller,
  sellerWants.name    AS seller_wants,
  sellerHas.name      AS seller_has
FROM
  People              AS buyer
INNER JOIN
  Wishlist            AS buyerWants
    ON buyerWants.person_id = buyer.person_id
INNER JOIN
  Giveaways           AS sellerHas
    ON sellerHas.item_id = buyerwish.item_id
INNER JOIN
  People              AS seller
    ON seller.person_id = sellerHas.seller_id
INNER JOIN
  WishList            AS sellerWants
    ON sellerWants.person_id = seller.person_id
INNER JOIN
  GiveAways           AS buyerHas
    ON  buyerHas.item_id = sellerWants.item_id
    AND buyerHas.person_id = buyer.person_id
WHERE
  buyer.person_id = ?


 类似资料:
  • 问题内容: 我目前正在做类似物物交换系统的系统。这样的情况。客户(茉莉花)需要输入“ NAME”属性(她必须寻找的内容)并输入“ SEEK”属性(她需要寻找的内容)。为了获得结果,“ SEEK”属性必须与其他客户的“名称”属性匹配,而其他客户的“ SEEK”属性必须与Jasmine的“ HAVE”属性匹配。 例如我有表项(已经在数据库中) 例如,茉莉花具有“名称”属性的耳机和“搜索”属性的笔记本电

  • 问题内容: 如果我有一个看起来像这样的表: 还有一个THINGS表,如下所示: 我正在尝试提出一个纯SQL查询,该查询可以让我找出什么可以访问什么。基本上,我想要一个看起来像这样的查询: 并返回“ John”和“ Mary”。关键是访问事物所需的许可数量是任意的。 我觉得这应该很明显,但是我无法提出一个优雅的解决方案。首选与Oracle兼容的解决方案。 编辑: Kosta和JBrooks的解决方案

  • 问题内容: 我从查询中返回了要按最佳匹配顺序进行排序的结果列表。我会尽我所能地保持清晰,但是如果某些事情还不够清晰,请告诉我,我将尝试使其更加清晰。 用户已经输入了名为的设置列表。有了这些,我正在寻找产品。一切顺利,直到他应该挑选出最佳比赛。 有几个字段,例如。 我要订购。例如,他需要先订购带有的产品,然后再订购。您可以使用来做到这一点,但是我希望不安静匹配的结果也只显示在列表的底部。因此,基本上

  • 问题内容: 我真的很不擅长SQL,我想知道我可以使用哪种SQL解决这个问题,在这个问题以下我怀疑是NP完全问题,但是我认为查询需要很长时间才能在大型数据集上运行因为这将作为后台任务完成。首选标准sql语句,但是如果需要存储过程,则使用它。SQL必须在Postgres 9.3上运行。 问题:给定一组包含一组关键字的文章,请为每条包含最多匹配关键字的文章查找前n条文章。 文章表的精简版本如下所示: 这

  • 问题内容: 我正在尝试编写一个NEST查询,该查询应基于完全匹​​配的字符串返回结果。我已经在网络上进行了研究,并且对使用术语,匹配,匹配短语有一些建议。我已经尝试了所有这些方法,但是搜索返回的结果中包含搜索字符串的一部分。例如,在我的数据库中,我有以下几行电子邮件地址: ter@gmail.com ter@hotmail.com terrance@hotmail.com 无论我是否使用: 要么

  • 我正在尝试建立一个使用贝宝的网站。不幸的是,PayPal开发者站点/概念发生了重大变化,所以我发现的所有教程似乎都没有用。例如,这个(非常好的)youtube教程,它是非常清楚的使用不是现有的页面和功能... 所以请尝试帮助我只与最新的信息/教程。 请注意,我的问题不是关于使用API,而是关于如何设置一个应用程序,以及一个从地面测试沙箱配置。 1)据我所知,我必须有一个真正的PayPal帐户,因为