大家好,初次学习MySQL。有个操作不是很明白,希望能得到指教。
我有多个表,结构有部分相同,比如部分列是一样的,都有姓名这一些,但是数据个数不一样,有的多,有的少。我现在需要把这些表汇总成一个信息总表,可是因为数据个数的问题,这个表有220个数据,那个表却有328个数据,具体要怎么操作呢?有谁愿意给个解决方案吗?谢谢
我有多个表,结构有部分相同,比如部分列是一样的,都有姓名这一些,但是数据个数不一样,有的多,有的少。我现在需要把这些表汇总成一个信息总表,可是因为数据个数的问题,这个表有220个数据,那个表却有328个数据,具体要怎么操作呢?有谁愿意给个解决方案吗?谢谢
说下思路,多表链接,取你需要的数据
表A
Name,Age,Sex
表B
Name,English,Chineseselect a1.*,b1.English,b1.Chinese from A a1 left join B b1 on a1.name=b1.name
DECLARE @s NVARCHAR(4000)
SELECT @s = ISNULL(@s + ',', '') + QUOTENAME(字段名称)
FROM (
SELECT A.* FROM (
Select A.NAME 字段名称
FROM syscolumns A
JOIN sysobjects B ON A.id=B.id
JOIN systypes C ON A.xusertype=C.xusertype
WHERE B.name ='A')A JOIN (
Select A.NAME 字段名称
FROM syscolumns A
JOIN sysobjects B ON A.id=B.id
JOIN systypes C ON A.xusertype=C.xusertype
WHERE B.name ='B')B ON A.字段名称=B.字段名称)D
--构建查询语句
DECLARE @SQL NVARCHAR(4000)
SELECT @SQL='
SELECT '+@s+'
FROM A'
EXEC (@SQL)