表A
字段1
值1
值2
值3表B
字段2
值1
值2显示结果为表C
字段1 字段2
值1 值1
值2 值2
值3实现这样功能的sql语句应该怎么写?
字段1
值1
值2
值3表B
字段2
值1
值2显示结果为表C
字段1 字段2
值1 值1
值2 值2
值3实现这样功能的sql语句应该怎么写?
解决方案 »
- 在DELPHI里怎么把外部控件打包到程序里面啊?
- 请问:fastreport 分页
- 请教高手: 有没有可以让用户自己设计界面的报表控件?
- 谁能帮我解决这个问题,要多少分给多少分!!!!
- 请帮忙介绍一些Delphi第三方控件
- 如何判断DBGridEh 当前单元格选中的列名 ??
- join 语法错误,不理解,各位看看
- 在QuickReport顯示的問題,急!!想了一天了,幫幫我!!!!!兄弟們幫我解決後一定給分!!!!!
- 哪位对hook技术编程有所了解,请进!
- 怎样在Query控件的SQL属性中实现两个表的外部连接(标准SQL语句的out join 功能)
- 使用ocx控件的问题
- FASTREPORT报表疑难(高手相助啊)
这个就可以了,实验通过,
union
SELECT * FROM 表b
你的结果是:
值1
值2
值3
也不是我要的结果啊
for i:=1 TO (A表、B表记录数大的那个)do
begin
insert into 表c 字段1=a.字段1,字段2=b.字段2 value......
A表.next;
B表.next;
end;
select a.字段1 b.字段2 from 表A a,表B b
你的结果是:
字段1 字段2
值1 值1
值2 值1
值3 值1
值1 值2
值2 值2
值3 值2另外这两个表是没有关系的,而且这两个表的记录不定,也就是说表A的记录有可能比表B多,也有可能少,也有可能相等,实际情况下我是想把像这样的3个没有关系的表合成一个表来显示,把它们的所有记录显示出来,因为是3个表,所以用游标和临时表来解决也比较难,请帮想想有什么好的办法来解决
------SQLSERVER语法
select 字段1,字段2 FROM 表A,表B where 字段2(+)=字段1
——oracle语法
select 字段1,字段2 FROM 表A,表B where 字段1=字段2
union
select 字段1,字段2 FROM 表A,表B where 字段1<>字段2
写个循环,填进去,如果是下面的结果那么很简单,如果想要得出我想要的结果还是比较难的
字段1 字段2
值1
值2
值3
值1
值2
由于有3个表,而且需要判断哪个表的记录是最多的,用最多的表先生成一个表,还要判断...等,反正就是麻烦,可能还得不出正确的结果to xiaocuo_zrf(女巫手上的猫)
select 字段1,字段2 FROM 表A LEFT JOIN 表B ON 字段1=字段2
的结果是对的,但只是在表A比表B的记录多的情况下才对,如果表B的记录比表A的记录要多,那么多出来的记录便显示不出来了to qzxyd(只会种菜)
你的结果也是错误的
CREATE TABLE #Tabel1 (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[xm] [varchar] (10) NULL
) ON [PRIMARY]2.insert into #Table1(xm)
select 字段1 from 表a3.
CREATE TABLE #Tabel2 (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[xm] [varchar] (10) NULL
) ON [PRIMARY]4.insert into #Table2(xm)
select 字段1 from 表b5.
select a.字段1, b.字段1 from #Table1 a left join #Table2 b on a.id=b.id
完了!具体方法可以看下AQL语言!我就不写了