【发布时间】:2014-02-12 09:06:53
【问题描述】:
这是我的旧 SQL:
SELECT so.samplelist_id
FROM sales_flat_order sfo
JOIN sales_flat_order_address sfoa
ON sfo.entity_id = sfoa.parent_id
JOIN samplelist_order AS so
ON Concat(Lower(Trim(sfoa.postcode)), Lower(Trim(sfoa.lastname))) =
Concat(Lower(Trim(so.postcode)), Lower(Trim(so.lastname)))
如您所见,它比较来自2 tables、sales_flat_order_address 和samplelist_order 的字符串(我知道性能很差)。这样可行。我现在的任务是重写该查询,使其不再使用samplelist_order,而是使用sales_flat_order_adress。
问题是,一张表(sales_flat_order_address)应该如何与自己比较数据?这有可能吗?有什么诀窍吗?
谢谢!
【问题讨论】:
-
你能分享你的查询解释结果吗?
-
目前尚不清楚您希望以何种方式将此表与其自身进行比较.. 尽管这样做当然是完全可能的。您要寻找的结果是什么?
-
你想要的输出结果是什么?
-
伙计们,阅读代码 - 他正在加入 sales_flat_order_address 和 samplelist_order on post_code & last_name concat
-
@jmadsen,是的,很清楚他目前在做什么,但我看不出他对新查询的期望结果是什么。显然你不能在同样的条件下进行自我加入。