mysql数据库-要使用的语句?
我需要根据表a的内容向表B中添加一列。我以前从未使用过sql,我正在寻求有关如何实现这一点的建议:mysql数据库-要使用的语句?,mysql,sql,database,Mysql,Sql,Database,我需要根据表a的内容向表B中添加一列。我以前从未使用过sql,我正在寻求有关如何实现这一点的建议: Table A: uid name account 1111 Fred A 1111 Fred A 1111 Fred A 1112 Joe B 1112 Joe B 1112 Joe B 1112 Joe B 1113 Ralph A Table B: uid nam
Table A:
uid name account
1111 Fred A
1111 Fred A
1111 Fred A
1112 Joe B
1112 Joe B
1112 Joe B
1112 Joe B
1113 Ralph A
Table B:
uid name
1111 Fred
1112 Joe
1113 Ralph
我需要以某种方式查询表A并找到与每个唯一名称(或uid)关联的帐户。然后我需要根据这些信息将“account”列添加到表B中。我将使用什么样的sql语句来执行此操作
SELECT DISTINCT A.uid,A.account AS Account_Name
FROM TableA A,TableB B
WHERE A.uid = B.uid;
ALTER TABLE TableB ADD COLUMN account CHAR(1);
UPDATE TableB JOIN TableA USING (uid)
SET TableB.account = TableA.account;
ALTER TABLE TableA DROP COLUMN account;
ALTER TABLE TableB ADD COLUMN account CHAR(1);
UPDATE TableB JOIN TableA USING (uid)
SET TableB.account = TableA.account;
ALTER TABLE TableA DROP COLUMN account;
这似乎是个坏主意,因为它会在两个表中复制数据。复制数据几乎总是一个糟糕的设计。这似乎是个坏主意,因为它会在两个表中复制数据。重复数据几乎总是一个糟糕的设计。这是一个语法错误。不能将DISTINCT当作函数使用。这是一个语法错误。你不能把DISTINCT当作一个函数来使用。这似乎就是我要找的,谢谢。account列实际上将包含现实生活中的varchar,现在我正试图找出如何确定varchar的最大大小。显然,我希望它与表A的varchar相同。有什么好方法可以获得这些信息吗?
从表a中选择MAX(长度(帐户))
这似乎就是我想要的,谢谢。account列实际上将包含现实生活中的varchar,现在我正试图找出如何确定varchar的最大大小。显然,我希望它与表A的varchar相同。是否有一种获取此信息的好方法?从表a中选择MAX(长度(帐户))