5
我将简化我的情况 - 我有这2个表:如何在MySQL中为通配符选择列?
table_A - id int, id_table_B_one int, id_table_B_two int, name varchar(30)
table_B - id int, name varchar(30), description varchar(30)
然后,我有这个疑问:
SELECT
table_A.id, table_A.name, table_B_one.*, table_B_two.*
FROM
table_A
LEFT JOIN table_B table_B_one ON table_A.id_table_B_one = table_B.id
LEFT JOIN table_B table_B_two ON table_A.id_table_B_two = table_B.id
我的问题是,我将获得3列具有相同的名称(ID和名称)。我知道我可以使用'AS'关键字来指定一个列的别名。但是,我需要指定每个选定的列,但我必须使用'*'通配符。
有没有什么办法可以用'*'通配符设置别名列名?事情是这样的:
... table_B_one * AS table_B_one_ * ...
为什么你需要使用通配符?难道你不能拼出你想看到的所有列吗? – SingleNegationElimination 2012-04-01 18:11:18
而不是'*'或'table。*',最好清楚地说明您正在选择的列。将它们全部列在'SELECT'语句中。 – 2012-04-01 18:18:26
TokenMacGuy:我需要,因为SQL查询实际上是动态生成的。正如我在我的问题中指出的 - 这是非常简化的目的这个问题,但查询和它的用法在我的情况是更复杂 – Frodik 2012-04-01 18:21:55