Join SQL语法问题

Join SQL语法问题,join,sql,Join,Sql,我连接了两个表并进行了简单的计数,但我似乎无法将连接的键变量重命名为更适合这两个表的变量,我不断得到错误“CUSTOMER_NO”在使用它的上下文中无效。“我确定这只是一个小语法错误,但我看不到它 SELECT owner_no AS customer_no, CASE WHEN customer_no BETWEEN 5000 and 5999 THEN 'RENTER' WHEN customer_no BETWEEN 6000 and 6999 THEN 'OWNER' END AS c

我连接了两个表并进行了简单的计数,但我似乎无法将连接的键变量重命名为更适合这两个表的变量,我不断得到错误“CUSTOMER_NO”在使用它的上下文中无效。“我确定这只是一个小语法错误,但我看不到它

SELECT owner_no AS customer_no,

CASE
WHEN customer_no BETWEEN 5000 and 5999 THEN 'RENTER'
WHEN customer_no BETWEEN 6000 and 6999 THEN 'OWNER'
END AS customer_type

FROM owner_phone AS op
INNER JOIN renter_phone AS rp ON op.owner_no = rp.renter_no

GROUP BY customer_no
HAVING COUNT(*) > 1;

在查询的其余部分,您必须使用OWNER\u NO,但将AS CUSTOMER\u NO保留为列名

SELECT owner_no AS customer_no,
CASE
    WHEN owner_no BETWEEN 5000 and 5999 THEN 'RENTER'
    WHEN owner_no BETWEEN 6000 and 6999 THEN 'OWNER'
END AS customer_type
FROM owner_phone AS op
INNER JOIN renter_phone AS rp ON op.owner_no = rp.renter_no
GROUP BY owner_no 
HAVING COUNT(*) > 1;

在查询的其余部分,您必须使用OWNER\u NO,但将AS CUSTOMER\u NO保留为列名

SELECT owner_no AS customer_no,
CASE
    WHEN owner_no BETWEEN 5000 and 5999 THEN 'RENTER'
    WHEN owner_no BETWEEN 6000 and 6999 THEN 'OWNER'
END AS customer_type
FROM owner_phone AS op
INNER JOIN renter_phone AS rp ON op.owner_no = rp.renter_no
GROUP BY owner_no 
HAVING COUNT(*) > 1;

在您的案例和分组依据中使用实际列名,而不是别名列名

CASE
WHEN owner_no BETWEEN 5000 and 5999 THEN 'RENTER'
WHEN owner_no BETWEEN 6000 and 6999 THEN 'OWNER'
END AS customer_type

FROM owner_phone AS op
INNER JOIN renter_phone AS rp ON op.owner_no = rp.renter_no
GROUP BY owner_no
HAVING Count(*) > 1;

在您的案例和分组依据中使用实际列名,而不是别名列名

CASE
WHEN owner_no BETWEEN 5000 and 5999 THEN 'RENTER'
WHEN owner_no BETWEEN 6000 and 6999 THEN 'OWNER'
END AS customer_type

FROM owner_phone AS op
INNER JOIN renter_phone AS rp ON op.owner_no = rp.renter_no
GROUP BY owner_no
HAVING Count(*) > 1;

@jimconstable:你们都是对的,谢谢。第二个最小问题,如果业主号和承租人号包含不同的值,我应该使用union函数而不是内部连接,对吗?@Eric,是什么连接了业主号和承租人号。是建筑ID、地址还是其他?也许您可以发布一个新的问题,其中显示您的数据库模式、一些示例数据以及您希望达到的结果,我们可以帮助您实现这些目标。@jimconstable:你们都是对的,谢谢。第二个最小问题,如果业主号和承租人号包含不同的值,我应该使用union函数而不是内部连接,对吗?@Eric,是什么连接了业主号和承租人号。是建筑ID、地址还是其他?也许您可以发布一个新的问题,其中显示了您的数据库模式、一些示例数据以及您希望达到的结果,我们可以帮助您实现这一目标。