mysql不允許變量直接作為字段名或表名進(jìn)行查詢
創(chuàng)新互聯(lián)建站主營(yíng)灞橋網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app開發(fā)定制,灞橋h5小程序開發(fā)搭建,灞橋網(wǎng)站營(yíng)銷推廣歡迎灞橋等地區(qū)企業(yè)咨詢
所以只能通過創(chuàng)建sql語(yǔ)句的方式實(shí)現(xiàn)
SET @province = '地區(qū)';
SET @strsql = concat('SELECT Fld1 AS ',@province,' FROM zgqy_2002_2;');
PREPARE stmt FROM @strsql;
EXECUTE stmt;
老弟你這需求估計(jì)也是沒多大用處,首先軟件表示跟sql傳輸表示有區(qū)別的。
-------------------------------------------------------------------------------------------
如果你要做的話,方案我有兩個(gè),第一個(gè)是預(yù)處理語(yǔ)句
你 谷歌 -》mysql 預(yù)處理語(yǔ)句
--------------------------------------------------------------------------------------------
一般類似
PREPARE STMT_Edwin FROM ‘SELECT ? as ? from 表’ ;
SET @A=表字段寫上;
SET@B=別名寫上; --你的是工號(hào)
EXECUTE STMT_Edwin USING @A,@B;
----------------------------------------------------------------------------
另一種思路是臨時(shí)表
declare @tb table(
編號(hào) int,
工號(hào) [nvarchar](50)
);
insert into @tb
select PM.auto_id,PM.PID from 表;
select * from @tb
------------------------------------------------------
如上在SqlServer下通過,mysql也一樣,調(diào)試調(diào)試改改就行!
然后就是
編號(hào) 工號(hào)
1 U12
2 U22
這樣的顯示!
-----------------------------------------------------------------------
1、新建一個(gè)test數(shù)據(jù)庫(kù),在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)data數(shù)據(jù)表,在表內(nèi)插入四條測(cè)試數(shù)據(jù)。
2、新建一個(gè)php文件,命名為test.php,用于講解如何使用sql統(tǒng)計(jì)某一個(gè)字段數(shù)字的總和。
3、在test.php文件內(nèi),使用new創(chuàng)建一個(gè)mysqli數(shù)據(jù)庫(kù)連接,在mysqli方法內(nèi),使用數(shù)據(jù)庫(kù)賬號(hào)、密碼、數(shù)據(jù)庫(kù)名稱連接數(shù)據(jù)庫(kù)。
4、在test.php文件內(nèi),使用set_charset方法設(shè)置獲得數(shù)據(jù)的編碼為utf8,同時(shí),使用if語(yǔ)句判斷連接數(shù)據(jù)庫(kù)是否成功,如果不成功,則輸出錯(cuò)誤信息。
5、在test.php文件內(nèi),編寫sql語(yǔ)句,使用sum方法計(jì)算指定字段數(shù)字的總和,例如 ,這里計(jì)算num字段數(shù)字的總和。
6、在test.php文件內(nèi),使用query執(zhí)行sql語(yǔ)句,最后,通過fetch_all方法將獲得的總和數(shù)據(jù)資源轉(zhuǎn)換為二維數(shù)組。
SELECT username name FROM `user` "username"是原字段名稱, 這個(gè)"name"就是別名~