【问题标题】:SELECT statement with spaces between tables?表之间有空格的 SELECT 语句?
【发布时间】:2014-03-17 17:44:22
【问题描述】:

我有以下 SQL 语句:

SELECT pvov.id, pvov.value
FROM ci_product_variant_option_values pvov, ci_product_variant_options pvo
WHERE pvov.product_variant_option_id=pvo.id
AND pvo.product_id='12345'

现在,我不明白ci_product_variant_option_values pvov 应该是什么意思,因为它既没有逗号也没有点。我知道ci_product_variant_option_values 是数据库中的一个表,但是pvov(可能是产品变体选项值的缩写)在数据库中没有出现。

有人可以解释一下这个说法吗?

【问题讨论】:

    标签: mysql sql database select


    【解决方案1】:

    pvov 是表别名。

    同说:

    ci_product_variant_option_values AS pvov
    

    别名使代码更简洁,而不必使用ci_product_variant_option_values.id,您只需使用pvov.id

    我还建议通过使用明确的JOIN 标准来摆脱已弃用的语法:

    SELECT pvov.id, pvov.value  
    FROM ci_product_variant_option_values pvov
    JOIN ci_product_variant_options pvo
    ON pvov.product_variant_option_id=pvo.id 
    WHERE ....
    

    【讨论】:

    • 这只是我需要重构的旧代码 :) 我已经开始修改东西并使用 JOIN 词。谢谢
    【解决方案2】:

    pvovci_product_variant_option_values 的别名。

    【讨论】:

      猜你喜欢
      • 2016-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-23
      • 2013-01-29
      • 2012-09-26
      • 2021-10-28
      相关资源
      最近更新 更多