【问题标题】:SQL Query optimization convertSQL 查询优化转换
【发布时间】:2015-09-13 05:26:52
【问题描述】:

我试图优化(转换)这个 SQL 查询

SELECT DISTINCT c.id, c.couponid, c.branchid, c.chainid
                FROM `users_roles` a, `field_data_field_ypefthinos` b, `custom_redemptions` c, `field_data_field_chain_manager` e, `field_data_field_node_tax_inception` f, `field_data_field_brand_manager` j, `field_data_field_brand_node_ref` k, `field_data_field_product_ref` i, `field_data_field_company_manager` z, `field_data_field_brand_company` t
                WHERE
                (a.rid = 4
                AND a.uid = ?
                AND b.field_ypefthinos_uid = a.uid
                AND b.entity_id = c.branchid)

到:

SELECT DISTINCT c.id, c.couponid, c.branchid, c.chainid
    FROM `custom_redemptions` AS c
INNER JOIN `field_data_field_ypefthinos` as b
    ON b.entity_id = c.branchid
INNER JOIN `users_roles` as A
    ON b.field_ypefthinos_uid = a.uid
    WHERE a.rid 4 AND a.uid 351

但它给了我语法错误

对于原始问题,请查看SQL Query optimization - exec time

【问题讨论】:

  • WHERE a.rid = 4 AND a.uid = 351
  • field_data_field_node_tax_inceptionf 跟什么有什么关系?

标签: php mysql sql optimization


【解决方案1】:

你忘了你= 登录WHERE 子句:

 SELECT DISTINCT c.id, c.couponid, c.branchid, c.chainid
        FROM `custom_redemptions` AS c
    INNER JOIN `field_data_field_ypefthinos` as b
        ON b.entity_id = c.branchid
    INNER JOIN `users_roles` as A
        ON b.field_ypefthinos_uid = a.uid
        WHERE a.rid = 4 AND a.uid = 351

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-10
    • 2014-02-04
    • 2014-11-16
    • 2011-06-22
    相关资源
    最近更新 更多