4

嗨,我有一个查询,它从我的房屋表中选择所有按街道地址分组的房屋。它计算那条街上有多少人,但也计算那条街上有多少人在另一个画布表中被引用。

我的查询在 MYSQL 中工作,但是当我在我的 iOS 应用程序中使用 SQlite 尝试它时它不起作用。我不知道的两者之间是否存在一些语法差异?

 SELECT haddress AS hd, COUNT( * ) ,
    (
     SELECT COUNT( * ) 
     FROM canvass, house
     WHERE canvass.hid = house.hid
     AND house.haddress = hd
    )
 FROM house
 GROUP BY haddress
4

1 回答 1

5

似乎您无法在 SQLite 的内部查询中引用列别名,因此您必须稍微更改内部查询以使用别名,house以便可以引用外部house.haddress. 更改后的查询应该适用于 SQLite 和 MySQL;

SELECT haddress AS hd, COUNT( * ),
    (
     SELECT COUNT( * ) 
     FROM canvass, house house2
     WHERE canvass.hid = house2.hid
     AND house2.haddress = house.haddress
    )
FROM house
GROUP BY haddress
于 2013-08-10T12:41:17.817 回答