Mysql 选择*查询,不包括列

Mysql 选择*查询,不包括列,mysql,select,columnname,Mysql,Select,Columnname,我已经读了很多关于这方面的书,这似乎是不可能的。 问题是,由于列的数量是动态的,我不能明确地提到它们。我输入了别名,但“id”列不断出现 CREATE不起作用,因为其中显然有3个id列 (此查询实际上是正常的,它可以工作,因此请不要对其进行评估) 编辑: 问题:除了几个明确的列外,我如何选择每个列。我知道SELECT*不是正确的方法,因为我选择的是all。我要求其他的方法 由于我必须这样做几次,而且列是动态的,而且很多列无法通过显式写入每个列名来维护。首先要做的是选择*,然后还要添加列。*因此,

我已经读了很多关于这方面的书,这似乎是不可能的。 问题是,由于列的数量是动态的,我不能明确地提到它们。我输入了别名,但“id”列不断出现

CREATE
不起作用,因为其中显然有3个
id

(此查询实际上是正常的,它可以工作,因此请不要对其进行评估)

编辑: 问题:除了几个明确的列外,我如何选择每个列。我知道SELECT*不是正确的方法,因为我选择的是all。我要求其他的方法


由于我必须这样做几次,而且列是动态的,而且很多列无法通过显式写入每个列名来维护。

首先要做的是
选择*
,然后还要添加列。*因此,您得到的是同一列的多个。查询中的
*
将再次选择您提供不同名称的3个ID。删除*并键入所需的列,您就会没事了

CREATE TABLE merged as 
SELECT 
    wuwebusers.id as wuwebusers_id, 
    jgwebusers_address.id as jgwebusers_address_id, 
    jgwebusers.id as jgwebusers_id , 
    AllotherColumnsYouNeed as WhateverYouWantToCallthem
FROM wuwebusers 
LEFT OUTER JOIN jgwebusers_address 
    ON wuwebusers.id = jgwebusers_address.userid 
LEFT OUTER JOIN jgwebusers 
    ON wuwebusers.id = jgwebusers.userid 
    GROUP BY wuwebusers.id

/编辑\如果将表更改为不使用仅标记列ID的通用方法,也可以解决此问题。例如,如果您有一个表名product,请调用该表ProductID的ID列。这也会解决您的问题。

您有什么问题吗?不要使用
select*
您应该始终指定要在查询中包含哪些列。请查看此列。虽然他们不建议这样做,但youTry有一个答案,可以明确说明您需要哪些帮助。列的数量是动态的?这可能是个坏主意。每个表中的列都是动态的吗?它们是如何动态的?它们当前看起来不是。OP states列是动态的,无法显式命名。这不会起作用,或者至少不会满足要求。是的,在我的回答后添加了。这是在原来的帖子中
CREATE TABLE merged as 
SELECT 
    wuwebusers.id as wuwebusers_id, 
    jgwebusers_address.id as jgwebusers_address_id, 
    jgwebusers.id as jgwebusers_id , 
    AllotherColumnsYouNeed as WhateverYouWantToCallthem
FROM wuwebusers 
LEFT OUTER JOIN jgwebusers_address 
    ON wuwebusers.id = jgwebusers_address.userid 
LEFT OUTER JOIN jgwebusers 
    ON wuwebusers.id = jgwebusers.userid 
    GROUP BY wuwebusers.id