如何將子查詢中的參數與外層 SQL 語句中的字段進行比較?

如何將子查詢中的參數與外層 SQL 語句中的字段進行比較?

如何使用 sql 語句中傳遞參數

本問題涉及在 sql 語句中傳遞參數,具體如下:

update post set content = (     select group_concat(id) as ids     from article     where pid = 'id' ) where id < 720

問題:

問題中的代碼需要將 article 表中 pid 字段等于 post 表 id 字段的記錄的 id 值拼接在一起。但目前代碼中的 id 卻是作為字符串,無法與 post 表中的 id 字段比較。

答案:

為了解決這個問題,我們需要使用子查詢并將 post 表別名為 a:

UPDATE post a SET content = (     SELECT group_concat(id) AS ids     FROM article     WHERE pid = a.id ) WHERE a.id < 720

此修改將 pid 替換為 a.id,使其與子查詢中的 id 字段進行比較。

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享