我有大部分的查询工作除了两件事,大件事,一件,一旦我将第四个表[ departments_tbl ]添加到查询中,我得到大约8K行,当我应该只有大约100个。
请参阅附加的架构,没有复选标记,这些是我想要返回的字段。
这没有帮助,但这只是我几乎一直有效的查询之一,直到[department_tbl被添加到混音]
SELECT _n_cust_entity_storeid_15.entity_id,
_n_cust_entity_storeid_15.email,
customer_group.customer_group_code,
departments.`name`,
departments.manager,
_n_cust_rpt_copy.first_name,
_n_cust_rpt_copy.last_name,
_n_cust_rpt_copy.last_login_date,
_n_cust_rpt_copy.billing_address,
_n_cust_rpt_copy.billing_city,
_n_cust_rpt_copy.billing_state,
_n_cust_rpt_copy.billing_zip
FROM _n_cust_entity_storeid_15 INNER JOIN customer_group ON _n_cust_entity_storeid_15.group_id = customer_group.customer_group_id
INNER JOIN departments ON _n_cust_entity_storeid_15.store_id = departments.store_id,
_n_cust_rpt_copy
ORDER BY _n_cust_rpt_copy.last_name ASC
我已经尝试了子查询,连接,但是无法让它工作。
非常感谢任何帮助。
架构请请注意 entity_id 和 cust_id 字段是 _ncust_rpt_copy表与 _n_cust_entity_storeid_15 tbl
答案 0 :(得分:1)
最后一张桌子cross join
_n_cust_rpt_copy
:
SELECT _n_cust_entity_storeid_15.entity_id,
_n_cust_entity_storeid_15.email,
customer_group.customer_group_code,
departments.`name`,
departments.manager,
_n_cust_rpt_copy.first_name,
_n_cust_rpt_copy.last_name,
_n_cust_rpt_copy.last_login_date,
_n_cust_rpt_copy.billing_address,
_n_cust_rpt_copy.billing_city,
_n_cust_rpt_copy.billing_state,
_n_cust_rpt_copy.billing_zip
FROM _n_cust_entity_storeid_15 INNER JOIN
customer_group
ON _n_cust_entity_storeid_15.group_id = customer_group.customer_group_id INNER JOIN
departments
ON _n_cust_entity_storeid_15.store_id = departments.store_id join
_n_cust_rpt_copy
ON ???
ORDER BY _n_cust_rpt_copy.last_name ASC;
对我来说,正确的连接条件是什么并不明显,但必须有一些东西。
我猜他们至少包括部门:
_n_cust_rpt_copy
ON _n_cust_rpt_copy.department_name = departments.name and