【发布时间】:2021-04-12 08:00:12
【问题描述】:
我怎样才能做到这一点?
SELECT a.city
FROM Address a
WHERE a.city NOT LIKE ANY '(
SELECT a2.city FROM Address a2 WHERE a2.id = ANY (
SELECT ca.customerAddressPK.addressId FROM CustomerAddress ca WHERE ca.customerAddressPK.customerId = ANY(
SELECT c.id FROM Customer c WHERE c.firstName = 'niko')))'
所以我想获取一个与具有 niko 地址的城市不同的城市列表。地址实体和客户实体具有多对多关系。
我可以在哪里运行此查询?
【问题讨论】:
-
样本数据和预期结果将帮助我们在这里为您提供帮助。当然,你所拥有的东西是行不通的;它不是有效的 T-SQL。还有,这个问题和jpql有什么关系?
-
ca.customerAddressPK.customerId是无效的有效列引用。这只是为什么最好发布一个其他人可以运行的脚本来理解您的问题的原因之一。也许您假设只有一个客户的名字 = 'niko' - 这安全吗?可能不是,但正确的代码取决于您的架构和您的实际目标。
标签: sql sql-server jpql