Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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
Mysql 在我的select查询中写入相关子查询_Mysql_Correlated Subquery - Fatal编程技术网

Mysql 在我的select查询中写入相关子查询

Mysql 在我的select查询中写入相关子查询,mysql,correlated-subquery,Mysql,Correlated Subquery,我有一个时髦的查询,可以很好地处理静态数据,但我需要动态数据。静态数据是这样的 SELECT c.my_name, c.my_id, (SELECT count(d.friendship_id) FROM another_table d WHERE d.my_id = 1 AND d.my_friends_id = 2) as count FROM myprofile c WHERE c.my_id = 1; 这将返回我想要的数据,如下所示: my_name my_id count p

我有一个时髦的查询,可以很好地处理静态数据,但我需要动态数据。静态数据是这样的

SELECT c.my_name, c.my_id, (SELECT count(d.friendship_id) FROM another_table d WHERE d.my_id = 1 AND d.my_friends_id = 2) as count FROM myprofile c WHERE c.my_id = 1;
这将返回我想要的数据,如下所示:

my_name my_id count parijat 123 1 (OR 0 if the row doesn't exist) 作为参考,另一个\u table.my\u id外键和另一个\u table.my\u friends\u id引用了myprofile.my\u id主键。另一个_table.friendy _id是这里的主键,并且是自动递增的

现在实际问题是:

我希望我的子查询如下所示: 从另一个表d中选择countd.Friendly\u id,其中d.my\u id=1,d.my\u friends\u id=CURRENT\u ROW\u id

其中,当前_ROW_MY_ID是在主查询中选择的c.MY_ID


这可能吗?如果不可能,我应该采取什么方法来获得我需要的结果

您可以执行子查询以获取该表的当前自动增量值:

select auto_increment from information_schema.tables where table_schema = 'you_db_name' and table_name = 'your_table_name'


弗朗西斯科

有时在我完全探索这个选项之前我会问。刚刚发现,即使在select语句中,相关子查询也可以正常工作。以下是我为使其工作所做的:

选择c.my_name,c.my_id,从另一个_表d中选择countd.Friendly_id,其中d.my_id=1,d.my_friends_id=c.my_id作为myprofile c中的计数,其中c.my_id=1


我的身份证有点模棱两可。更好的说法是profile\u id,但是处理遗留数据库肯定不好玩。

为什么我要获取当前的自动增量值?