【问题标题】:MySQL join 2 tables but rename columns because they have the same nameMySQL加入2个表但重命名列,因为它们具有相同的名称
【发布时间】:2012-10-03 05:29:06
【问题描述】:

我有两张桌子,

管理员,定价

  • admin 包含列(id、date_created、type、value)
  • 定价包含列(id、date_created、relation、value)

我想做一个连接两个表的选择,其中pricing.relation = admin.id

如何重命名 value、id 和 date_created 行,以免它们相互覆盖?

这就是我正在尝试的事情:

$sub_types = $database->query('
    SELECT 
    pricing.*,
    admin.*
        FROM 
        pricing,
        admin
            WHERE pricing.relation = admin.id
');

【问题讨论】:

  • 这里可以使用AS操作符,即pricing.id as price_id
  • 完全正确 - 因为它是您想要使用的东西。它不仅可以帮助您处理重复的名称,而且还鼓励您仅使用您真正想要的那些列:) 我的意思是:使用 "SELECT *" 时我们是否总是想要所有列?或者我们只是懒得手动输入我们真正想要的列? :)
  • 懒惰...等 :) 问题?呵呵呵呵
  • 完全没问题。我也这样做:) 我只是说...

标签: php mysql join identity-column


【解决方案1】:

你可以使用别名:

SELECT p.id as pid, 
       p.date_created as pricing_date, 
       p.type, p.value as pricing_value,
       a.id as aid, 
       a.date_created as admin_date,
       a.relation, 
       a.value as admin_value
FROM pricing p
inner join admin a on p.relation = a.id

【讨论】:

  • 您刚刚告诉了我如何解决不同的问题,谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-08-19
  • 2022-06-14
  • 2011-01-27
  • 1970-01-01
  • 2022-11-13
  • 2014-12-19
  • 1970-01-01
相关资源
最近更新 更多