1. 程式人生 > 資料庫 >關於通過sql語句獲取select的欄位名

關於通過sql語句獲取select的欄位名

最近專案有個需求,把sql語句中的select欄位名顯示出來,可是有時候表裡或者該sql語句查詢資料為空,就不能通過迴圈資料,獲取欄位名

查了很多資訊,也沒有能直接獲取欄位名的,基本都是正則分析

最後我想到了一個方案,希望能幫到大家

select * from good_info limit 1

這是我們想要檢視欄位名的sql語句,如果沒有資料,這個會返回null,我們就不能通過迴圈一條資料來獲取欄位名

我的想法是跟一個必有資料的表進行關聯,這樣就肯定會出來一天資料,可以通過迴圈資料來顯示欄位名

SELECT
    b.*,
    a.id AS my_user_id 
FROM
    `emo_users` AS a

    LEFT JOIN ( SELECT *, '0' AS `good_my_user_id` FROM emo_v_authority AS c LIMIT 1 ) AS `b` ON `a`.`id` = `b`.`good_my_user_id` 
    LIMIT 1

這樣聯合查詢之後,過濾掉my_user_id欄位和good_my_user_id欄位,剩下的就是我們想要的所以欄位值了