4

一部のデータをテーブルに INSERT しようとしていますが、サブクエリ COUNT が > 0 の場合のみです。

これは私がこれまでに持っているものです。

INSERT INTO users_friends (userId, friendId) VALUES (77, 100) 
WHERE 
(SELECT COUNT(id) FROM users WHERE email = 'a@g.com') > 0

両方のクエリは独立して機能します。

うまくいけば、これは簡単な修正になるはずです。乾杯

4

3 に答える 3

5

レコード「a@g.com」がある場合の SQLFiddle デモ

レコード「a@g.com」がない場合の SQLFiddle デモ

INSERT INTO users_friends (userId, friendId) 
SELECT 77, 100 
FROM users WHERE email = 'a@g.com' LIMIT 1;

別の方法は次のとおりです。

INSERT INTO users_friends (userId, friendId) 
SELECT 77, 100 
FROM dual
WHERE EXISTS
      ( SELECT * FROM users WHERE email = 'a@g.com' ) ;
于 2013-02-12T13:47:29.277 に答える
2

これを試して::

INSERT INTO users_friends (userId, friendId) 
(SELECT 77, 100  FROM users GROUP BY email HAVING email= 'a@g.com' and count(id)>0)
于 2013-02-12T13:48:18.717 に答える
0
INSERT INTO users_friends (userId, friendId) 
SELECT 77, 100 FROM users WHERE email = 'a@g.com'
GROUP BY email
HAVING COUNT(id) > 0
于 2013-02-12T13:56:51.127 に答える