派生表的where子句中的mysql派生表
我从实体框架中删减了一些SQL,以提高SQL Server而不是MySQL的可读性。我假设这意味着我已经达到了MySQL的限制,但不能确定 我有三张桌子: 带有ProductId和调节ID的产品 带有住宿ID的住宿 有室友的房间派生表的where子句中的mysql派生表,mysql,sql,entity-framework,Mysql,Sql,Entity Framework,我从实体框架中删减了一些SQL,以提高SQL Server而不是MySQL的可读性。我假设这意味着我已经达到了MySQL的限制,但不能确定 我有三张桌子: 带有ProductId和调节ID的产品 带有住宿ID的住宿 有室友的房间 SELECT * FROM (SELECT * FROM products) AS Project1 WHERE EXISTS( SELECT * FROM rooms LEFT OUTER JOIN (SELECT * FROM accommoda
SELECT *
FROM (SELECT * FROM products) AS Project1
WHERE EXISTS(
SELECT *
FROM rooms
LEFT OUTER JOIN
(SELECT * FROM accommodations AS A WHERE Project1.AccommodationId = A.AccommodationId)
AS Project2 ON 1 = 1
)
我得到这个错误:
Error Code: 1054. Unknown column 'Project1.AccommodationId' in 'where clause'
我想了解这个错误,看看是否可以更改代码以获得EntityFramework以生成兼容的SQL
谢谢您不能在MYSQL中加入子查询并返回到主FROM子句中的其他表之一。那不行 哇,这是一些看起来很难看的代码。我认为它归结为以下几点。它只是以一种非常迂回的方式到达那里
SELECT Project1.*
FROM products AS Project1
INNER JOIN accommodations AS A
ON Project1.AccommodationId = A.AccommodationId
您不能连接到MYSQL中的子查询并在主FROM子句中引用其他表之一。那不行。嗨,谢谢你的回答。是的,您的SQL对于我描述的场景是正确的,但是我引用的SQL被大幅缩减,实际上并没有解决我真正的编码问题。我可以理解喜欢ORM的人及其带来的所有优势,但作为一名SQL开发人员,在这些技术能够比我写得更准确之前,我宁愿按照我的方式来做。感谢您的回答,我希望我为MySQL配置了错误的EF,这样当它完成时,就可以生成与MySQL兼容的SQL。