SELECT users.*,(SELECT COUNT(user_id) AS mutual_connection FROM
(SELECT user_id
FROM (
SELECT sender_id AS user_id
FROM `connections`
WHERE receiver_id=users.id AND status='2'
UNION
SELECT receiver_id AS user_id
FROM `connections`
WHERE sender_id=users.id AND status='2'
) tempUser
WHERE user_id IN (
SELECT sender_id AS user_id
FROM `connections`
WHERE receiver_id='4' AND status='2'
UNION
SELECT receiver_id AS user_id
FROM `connections` WHERE sender_id='4' AND status='2')
GROUP BY user_id)
as mutualConnection)
FROM users
Run Code Online (Sandbox Code Playgroud)
错误:
#1054 - 'where 子句'中的未知列'users.id'
如何使用传递值进行子查询
我想cities_extended.city_id根据加入进行更新cities
桌子 cities
CREATE TABLE `cities` (
`id` int(11) NOT NULL,
`city` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`state_code` char(2) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`state_id` int(11) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `cities`
ADD PRIMARY KEY (`id`);
Run Code Online (Sandbox Code Playgroud)
桌子 cities_extended
CREATE TABLE `cities_extended` (
`id` int(11) NOT NULL,
`city` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`state_code` char(2) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`zip` int(5) UNSIGNED …Run Code Online (Sandbox Code Playgroud)