SQL QUERY ----检索所有电子邮件

时间:2012-04-02 07:05:52

标签: php mysql sql

$q="SELECT DISTINCT 
            t1.un_email,t6.email
                   FROM
                   sisters_7sisters.tbl_unsubscribe as  t1,
                   sisters_7sisters.tbl_uptade_list as t6";

我写了一个像上面这样的查询我需要从表中检索所有唯一的电子邮件 但是它给了我一些不是唯一的结果。我试图只收到一次电子邮件 从这些表格中。

3 个答案:

答案 0 :(得分:0)

最好使用联接来加入这两个表并选择不同的电子邮件

您正在使用的区别仅适用于结果的每一列,而不是同时应用于两者。

答案 1 :(得分:0)

你没有加入他们,你没有任何where条款。那么你可能没问题这个解决方案(没有重复的电子邮件):

SELECT
    t1.un_email AS email
FROM
    sisters_7sisters.tbl_unsubscribe as t1
UNION
SELECT
    t6.email
FROM
    sisters_7sisters.tbl_uptade_list as t6

或者您可以使用UNION ALL。这将返回重复项:

SELECT
    t1.un_email AS email
FROM
    sisters_7sisters.tbl_unsubscribe as t1
UNION
SELECT
    t6.email
FROM
    sisters_7sisters.tbl_uptade_list as t6

答案 2 :(得分:0)

我想你已经忘记了加入ocndition

使用时

select * from table1,table2

它会创建一个cartisian product

如果table1为

1

2

3

和table2有

4

5

6

作为他们的数据。

笛卡儿产品

1 4

1 5

1 6

2 4

2 5

2 6

3 4

3 5

3 6

删除这些不必要的字段 你必须Join