mysql選擇動態(tài)行值作為列名,另一列作為值我有一個用戶信息的遺留表(仍在使用中),我無法改變結(jié)構(gòu) -id name value------------------------------0 timezone Europe/London0 language en0 country 450 something x1 timezone Europe/Paris1 language fr1 country 46時區(qū)/語言/國家等只是名稱的例子,它們可以是變量/除了該列的行之外沒有唯一的有限列表我需要一個可以返回的MySQL兼容的SQL查詢 -id timezone language country something---------------------------------------------------0 Europe/London en 45 x1 Europe/Paris fr 46我已經(jīng)查看了關(guān)于將數(shù)據(jù)庫中的數(shù)據(jù)庫功能隱藏到MySQL中的stackoverflow的各種答案,類似但是它們似乎都不匹配使用來自同一個表的列中的唯一行值的變量列名別名的情況。雖然我睡得很少,所以他們都開始變得有點模糊,提前道歉。我能找到的最近的將是使用準備好的語句它將首先從名稱列中獲取所有可能/唯一值并構(gòu)建一個使用CASE WHEN和/或多個子SELECT或JOIN上的查詢相同的表查詢。我能想到的替代方法是獲取該用戶id的所有行并在for循環(huán)中在應(yīng)用程序本身中處理它們,或者嘗試將名稱限制為有限量并使用sub- SELECTs / JOINs。但是,如果添加新名稱,第二個選項并不理想,我必須重新訪問此查詢。請告訴我,我錯過了一些明顯的東西
mysql選擇動態(tài)行值作為列名,另一列作為值
斯蒂芬大帝
2019-08-08 16:56:31