fix logic about join
This commit is contained in:
+14
-3
@@ -16,6 +16,7 @@ CREATE OR REPLACE PROCEDURE orm_exec_page_v2 (
|
||||
Item Who Date Modify Docs
|
||||
==== ========== ========== ================================================
|
||||
1 Michael 2025/07/11 根據 ms-sql 的版本, 利用 ChatGPT/DeepSeek 等AI, 改寫為 Mariadb 版
|
||||
2 Michael 2026/03/09 欄位加入 ma. 若擴充欄位檔 sys_joinfields 有定義
|
||||
|
||||
*/
|
||||
BEGIN
|
||||
@@ -89,11 +90,21 @@ BEGIN
|
||||
SELECT joinfields, jointables INTO _joinfields, _jointables
|
||||
FROM sys_joinfields WHERE menuid = _menuid;
|
||||
|
||||
SET _alias = 'ma.';
|
||||
SET _tbl_alias = ' ma ';
|
||||
IF _joinfields IS NOT NULL AND _joinfields <> '' THEN
|
||||
SET _alias = 'ma.';
|
||||
SET _tbl_alias = ' ma ';
|
||||
ELSE
|
||||
SET _alias = '';
|
||||
SET _tbl_alias = '';
|
||||
END IF;
|
||||
|
||||
-- 統一加 alias 邏輯
|
||||
IF LOCATE('ma.', _orderby) = 0 THEN
|
||||
SET _orderby = CONCAT(_alias, _orderby);
|
||||
END IF;
|
||||
|
||||
-- 應該在此處把相關欄位都加上 alias 2026/03/09 Michael
|
||||
|
||||
END IF;
|
||||
|
||||
-- 建立 WHERE 條件
|
||||
@@ -115,7 +126,7 @@ BEGIN
|
||||
SET _wheresql = CONCAT(
|
||||
_wheresql,
|
||||
IF(v_pos > 1, ' OR ', ''),
|
||||
v_field,
|
||||
_alias, v_field,
|
||||
' LIKE ',
|
||||
QUOTE(CONCAT('%', _where_value, '%'))
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user