SQL 查询----检索所有电子邮件


SQL QUERY----Retrieve all email

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

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

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

您使用的非重复值仅应用于结果的每一列,而不是同时应用于两列。

你不是在开玩笑,你没有任何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

我想你已经忘记了加入

当您使用

select * from table1,table2

它将创建一个卡蒂斯产品

如果表 1 为

1
2
3

表2有

5

6

作为他们的数据。

笛卡尔乘积将是

1 4
1 5
1 6
2 4
2 5
2 6
3 4
3 5
3 6

删除此不必要的字段你必须加入