Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
派生表的where子句中的mysql派生表_Mysql_Sql_Entity Framework - Fatal编程技术网

派生表的where子句中的mysql派生表

派生表的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

我从实体框架中删减了一些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 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。