1
我有一个名为tbl_mainsheet7表创建这样的:来自一个表的COLUMN NAME和COLUMN COMMENT以及另一个表的COLUMN VALUE。怎么样?
pk_mainsheet client_id project_id mainsheet_id project_cat EA_WTRESRVD EA_WTRESRV EA_FEEASBT
------------ --------- ---------- ------------ ----------- ----------- ---------- ----------
1 111 222 333 3 0 0 0
2 11 22 33 3 0 0 0
的MySQL INFORMATION_SCHEMA.COLUMNS查询像这样创建tbl_mainsheet7:
SELECT `COLUMN_NAME`, `COLUMN_COMMENT` FROM INFORMATION_SCHEMA.COLUMNS WHERE `TABLE_NAME` = 'tbl_mainsheet7'
..returning这样的:
COLUMN_NAME COLUMN_COMMENT
------------- ------------------------------------------------------
pk_mainsheet
client_id
project_id
mainsheet_id
project_cat
EA_WTRESRVD EMERGENCY SERVICE CALL
EA_WTRESRV EMERGENCY SERVICE CALL AFTER HRS
EA_FEEASBT ASBESTOS TEST FEE
我如何...
SELECT COLUMN_NAME
,COLUMN_VALUE
,COLUMN_COMMENT
FROM ... WHERE ...
也许一个JOIN?我真的在挠挠我的脑袋。
UPDATE
所以我得到这个工作,但对于一个预定列只。我如何使用变量来实现这种动态?
喜欢具有可变有关COLUMN_NAME
SELECT COLUMN_NAME, (SELECT EA_WTRESRVD FROM tbl_mainsheet7 WHERE client_id = '111') AS COLUMN_VALUE, COLUMN_COMMENT FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'tbl_mainsheet7'
直接在SQL中,你不能因为你不能使用列名作为变量。 – scaisEdge
有没有一个php/msqli解决方案? – ASPiRE
是的..有点复杂,但你可以使用PHP中的变量生成mysql代码字符串,并正确地连接值..尝试在SO中进行搜索以建立动态sql – scaisEdge