首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL知道常见的列,怎么知道?

问MySQL知道常见的列,怎么知道?
EN

Stack Overflow用户
提问于 2011-11-28 04:09:37
回答 1查看 72关注 0票数 3

我通常使用一个公共列在两个表之间执行连接,在本例中是“product”。

现在来了一个没有联接的查询:

代码语言:javascript
复制
SELECT `rp_products`.`product_code`, `rp_log`.`customer_id`, `rp_products`.`product_name`
FROM rp_products, rp_log
WHERE (`rp_log`.`customer_id` = '111')
ORDER BY `rp_products`.`product_code` ASC, `rp_log`.`customer_id` ASC

返回:

代码语言:javascript
复制
product_code    customer_id     product_name
105             111             Paintballs 2000PBS
105             111             Paintballs 2000PBS
106             111             Gloves
106             111             Gloves

我想知道的是,它如何显示正确的“product_name”而不加入表之间的“product_code”?product_code不是主键或类似的东西。product_name是表中两个列的名称。

  • rp_log存储customer_id、product_code和购买日期(未显示here).
  • rp_products存储product_code、价格(未显示在此处)和product_name.

谢谢你抽出时间埃文。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-28 04:30:24

您正在执行整个rp_products表和rp_log子表的交叉乘积,该子表的customer_id值为111。我猜您在rp_log中有两个111个条目,在rp_products中有两个条目;那么联接中每个表(或子表)中的每个条目都将与另一个表中的每个条目对,以生成结果集中的四个(= 2×2)行。

包含更多来自rp_log和rp_products的专栏可能会为您澄清问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8291440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档