我有如下一表结构:
字段1 字段2
A table1
B table1
C table2
... ....
如果我数据库对应的table1 table2...中不包含上表对应的字段1里的记录(A B C...)就将table1,table2...新增A B C...字段
意思是table1 字段(D,E,)变为(A B D E)
talbe2 字段(H) 变为(C H)
字段1 字段2
A table1
B table1
C table2
... ....
如果我数据库对应的table1 table2...中不包含上表对应的字段1里的记录(A B C...)就将table1,table2...新增A B C...字段
意思是table1 字段(D,E,)变为(A B D E)
talbe2 字段(H) 变为(C H)
解决方案 »
- 存储过程的执行?
- 谁有用indyDemo中的MailClient成功发送过邮件?
- 如何拷贝一个字符串最右边的两个字符?我一时忘了谢谢
- 高分请教关于注册表的问题?
- sql语句
- 怎样用delphi作出office中的office助手和瑞星中的小狮子???
- 有哪位高手愿意当我的老师,我己经学了将近两个月,只能编些小程序,我想请一位能让我提问的老师,我一定好好学,要绝对的高手,因为名师出高徒?
- 我刚刚学Delphi 谁能告诉我如何在Delphi里定义个 变量,rect : TRect;有错吗?
- win32数据类型与Delphi数据类型的转换问题
- 如何在DEPHI实现DBF的复合索引查找?
- 奇怪的汇总小问题
- 帮帮忙!!quickreport问题??
不过你问的问题用left outer join or inner join肯定能完成
最好写成存储过程
CREATE PROCEDURE Code
@strUCode char(8)
AS SELECT Distinct Seal.SState as 名称1,
Seal.Code AS 名称2,
Seal.SName AS 名称3,
FROM Seal INNER JOIN GDUser ON SealData.Code=User.Code
LEFT JOIN Company ON Seal.SNO=Company.SNO
where
User.strUCode=@strUCode
GO
table1,table2什么时候作为记录值,
什么时候作为数据表才好理解点.因为table1作为记录值时,对应的相应记录数为不定值,我觉得要写个动态语句,但偏不熟悉,就高手指点...
begin
set @column = null
select top 1 @column = field1 from t where not exists(select * From syscolumns where name=field2 and id=object_id(field1)
exec ('ALTER TABLE table1 ADD COLUMN ' + @column + ' varchar(50)')
end
大致是这样,没有测试。