+ -
当前位置:首页 → 问答吧 → SQL语句增加取得项目(不影响当前效率)

SQL语句增加取得项目(不影响当前效率)

时间:2011-12-13

来源:互联网

之前SQL语句如下写,想按照下列方式写,增加取得TMPQZCUSTOMERTBL表中的两个字段PH,SEQ,请问如何更改

SELECT *
FROM Customer
WHERE EXISTS (SELECT DISTINCT (1)
  FROM TMPQZCUSTOMERTBL
  WHERE CustomerDt.电话1 = TMPQZCUSTOMERTBL.CUSTOMER_TEL
  OR CustomerDt.电话2 = TMPQZCUSTOMERTBL.CUSTOMER_TEL
  OR CustomerDt.电话3 = TMPQZCUSTOMERTBL.CUSTOMER_TEL)

作者: iamheyjudy   发布时间: 2011-12-13

SQL code
SELECT Customer.*,
TMPQZCUSTOMERTBL.PH,
TMPQZCUSTOMERTBL.SEQ
FROM Customer,
  FROM TMPQZCUSTOMERTBL
  WHERE CustomerDt.电话1 = TMPQZCUSTOMERTBL.CUSTOMER_TEL
  OR CustomerDt.电话2 = TMPQZCUSTOMERTBL.CUSTOMER_TEL
  OR CustomerDt.电话3 = TMPQZCUSTOMERTBL.CUSTOMER_TEL

作者: Beirut   发布时间: 2011-12-13

引用 1 楼 beirut 的回复:
SQL code

SELECT Customer.*,
TMPQZCUSTOMERTBL.PH,
TMPQZCUSTOMERTBL.SEQ
FROM Customer,
FROM TMPQZCUSTOMERTBL
WHERE CustomerDt.电话1 = TMPQZCUSTOMERTBL.CUSTOMER_TEL
OR CustomerDt.电话2 = TMPQZ……


谢谢回答,TMPQZCUSTOMERTBL表中有很多重复的信息,而且Customer表 和 TMPQZCUSTOMERTBL表的关联就靠电话关联

作者: iamheyjudy   发布时间: 2011-12-13

SQL code
SELECT a.*,b.PH,b.SEQ
FROM Customer a inner join(
SELECT DISTINCT CUSTOMER_TEL,PH,SEQ FROM TMPQZCUSTOMERTBL)b
on a.电话1 = b.CUSTOMER_TEL OR a.电话2 = b.CUSTOMER_TEL OR a.电话3 = b.CUSTOMER_TEL

作者: qianjin036a   发布时间: 2011-12-13

SELECT a.*,b.PH,b.SEQ
FROM Customer a inner join(
SELECT DISTINCT CUSTOMER_TEL,PH,SEQ FROM TMPQZCUSTOMERTBL)b
on a.电话1 = b.CUSTOMER_TEL OR a.电话2 = b.CUSTOMER_TEL OR a.电话3 = b.CUSTOMER_TEL

作者: rucypli   发布时间: 2011-12-13

引用 3 楼 qianjin036a 的回复:
SQL code

SELECT a.*,b.PH,b.SEQ
FROM Customer a inner join(
SELECT DISTINCT CUSTOMER_TEL,PH,SEQ FROM TMPQZCUSTOMERTBL)b
on a.电话1 = b.CUSTOMER_TEL OR a.电话2 = b.CUSTOMER_TEL OR a.电话3 = b.CUSTOMER_T……


谢谢,但是执行很慢,1000条数据大约的15秒

作者: iamheyjudy   发布时间: 2011-12-13