首页 > 解决方案 > SQL:无法将动态变量设置为 OFFSET

问题描述

我正在尝试为 OFFSET 属性分配一个变量,我也尝试过 concat 但我做得不对。第一个是我的原始代码,第二个是我试图将变量连接到偏移量的地方。

SELECT * FROM( SELECT id, title, content, userc_id, created_at, is_deleted FROM stories
UNION
SELECT id, heading AS title, description AS content, userc_id, created_at, is_deleted FROM causes
) AS a
JOIN (SELECT clients.* FROM clients) AS b ON a.userc_id = b.id
LEFT JOIN (SELECT files.* FROM files ) AS c ON c.table_id = a.id AND (c.table = "stories" OR c.table = "causes") 
WHERE a.is_deleted = 0
ORDER BY a.created_at
LIMIT 1
OFFSET $offset');

请帮助我以更好的方式优化此代码。这是我尝试过 concat 的地方,但我失败了。

SELECT * FROM( SELECT id, title, content, userc_id, created_at, is_deleted FROM stories
UNION
SELECT id, heading AS title, description AS content, userc_id, created_at, is_deleted FROM causes
) AS a
JOIN (SELECT clients.* FROM clients) AS b ON a.userc_id = b.id
LEFT JOIN (SELECT files.* FROM files ) AS c ON c.table_id = a.id AND (c.table = "stories" OR c.table = "causes") 
WHERE a.is_deleted = 0
ORDER BY a.created_at
CONCAT(LIMIT 1 OFFSET $offset) ');

标签: phpsqllaravelweb

解决方案


推荐阅读