求sql语句,两张表联合查询

悟迟 2009-04-29 09:10:22

DROP TABLE GetSQL
CREATE TABLE GetSQL
(
IndexID int PRIMARY KEY,
DataID int,
Data float)
TRUNCATE TABLE GetSQL
INSERT INTO GetSQL VALUES (0, 0, 5.7)
INSERT INTO GetSQL VALUES (1, 0, 0.1)
INSERT INTO GetSQL VALUES (2, 1, 3.9)
INSERT INTO GetSQL VALUES (3, 1, 4.4)
INSERT INTO GetSQL VALUES (4, 2, 1.2)
INSERT INTO GetSQL VALUES (5, 2, 3.4)
DROP TABLE GetSQL1
CREATE TABLE GetSQL1
(
DataID int PRIMARY KEY,
DataInfo nvarchar(10),
)
INSERT INTO GetSQL1 VALUES (0, '类型1')
INSERT INTO GetSQL1 VALUES (1, '类型2')
INSERT INTO GetSQL1 VALUES (2, '类型4')

我想得到的效果是
0, 0, 5.7, 类型1
1, 0, 0.1, 类型1
2, 1, 3.9, 类型2
3, 1, 4.4, 类型2
4, 2, 1.2, 类型4
5, 2, 3.4, 类型4
...全文
208 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiayinuser 2009-11-03
  • 打赏
  • 举报
回复
if object_id('GetSQL') is not null
drop table GetSQL

if object_id('GetSQL1') is not null
drop table GetSQL1

CREATE TABLE GetSQL
(
IndexID int PRIMARY KEY,
DataID int,
Data float)
TRUNCATE TABLE GetSQL
INSERT INTO GetSQL VALUES (0, 0, 5.7)
INSERT INTO GetSQL VALUES (1, 0, 0.1)
INSERT INTO GetSQL VALUES (2, 1, 3.9)
INSERT INTO GetSQL VALUES (3, 1, 4.4)
INSERT INTO GetSQL VALUES (4, 2, 1.2)
INSERT INTO GetSQL VALUES (5, 2, 3.4)


CREATE TABLE GetSQL1
(
DataID int PRIMARY KEY,
DataInfo nvarchar(10),
)
INSERT INTO GetSQL1 VALUES (0, '类型1')
INSERT INTO GetSQL1 VALUES (1, '类型2')
INSERT INTO GetSQL1 VALUES (2, '类型4')


select a.*,b.DataInfo
from GetSQL a left join GetSQL1 b on a.DataID=b.DataID
conan304 2009-04-29
  • 打赏
  • 举报
回复
if object_id('GetSQL') is not null
drop table GetSQL

if object_id('GetSQL1') is not null
drop table GetSQL1

CREATE TABLE GetSQL
(
IndexID int PRIMARY KEY,
DataID int,
Data float)
TRUNCATE TABLE GetSQL
INSERT INTO GetSQL VALUES (0, 0, 5.7)
INSERT INTO GetSQL VALUES (1, 0, 0.1)
INSERT INTO GetSQL VALUES (2, 1, 3.9)
INSERT INTO GetSQL VALUES (3, 1, 4.4)
INSERT INTO GetSQL VALUES (4, 2, 1.2)
INSERT INTO GetSQL VALUES (5, 2, 3.4)


CREATE TABLE GetSQL1
(
DataID int PRIMARY KEY,
DataInfo nvarchar(10),
)
INSERT INTO GetSQL1 VALUES (0, '类型1')
INSERT INTO GetSQL1 VALUES (1, '类型2')
INSERT INTO GetSQL1 VALUES (2, '类型4')


select a.*,b.DataInfo
from GetSQL a left join GetSQL1 b on a.DataID=b.DataID
/*
IndexID DataID Data DataInfo
----------- ----------- ----------------------------------------------------- ----------
0 0 5.7000000000000002 类型1
1 0 0.10000000000000001 类型1
2 1 3.8999999999999999 类型2
3 1 4.4000000000000004 类型2
4 2 1.2 类型4
5 2 3.3999999999999999 类型4
*/
ChinaJiaBing 2009-04-29
  • 打赏
  • 举报
回复


DROP TABLE GetSQL
CREATE TABLE GetSQL
(
IndexID int PRIMARY KEY,
DataID int,
Data float)
TRUNCATE TABLE GetSQL
INSERT INTO GetSQL VALUES (0, 0, 5.7)
INSERT INTO GetSQL VALUES (1, 0, 0.1)
INSERT INTO GetSQL VALUES (2, 1, 3.9)
INSERT INTO GetSQL VALUES (3, 1, 4.4)
INSERT INTO GetSQL VALUES (4, 2, 1.2)
INSERT INTO GetSQL VALUES (5, 2, 3.4)
DROP TABLE GetSQL1
CREATE TABLE GetSQL1
(
DataID int PRIMARY KEY,
DataInfo nvarchar(10),
)
INSERT INTO GetSQL1 VALUES (0, '类型1')
INSERT INTO GetSQL1 VALUES (1, '类型2')
INSERT INTO GetSQL1 VALUES (2, '类型4')
SELECT a.*, b.DataInfo FROM GetSQL a,GetSQL1 b
where a.DataID=b.DataID




(1 行受影响)

(1 行受影响)

(1 行受影响)

(1 行受影响)

(1 行受影响)

(1 行受影响)

(1 行受影响)

(1 行受影响)

(1 行受影响)
IndexID DataID Data DataInfo
----------- ----------- ---------------------- ----------
0 0 5.7 类型1
1 0 0.1 类型1
2 1 3.9 类型2
3 1 4.4 类型2
4 2 1.2 类型4
5 2 3.4 类型4

(6 行受影响)



ks_reny 2009-04-29
  • 打赏
  • 举报
回复
簡單的 left Join 一下.
  • 打赏
  • 举报
回复
select a.* ,b.DataInfo
from getsql s ,getsql1 t
where s.dataid=t.dataid
ws_hgo 2009-04-29
  • 打赏
  • 举报
回复
CREATE TABLE GetSQL 
(
IndexID int PRIMARY KEY,
DataID int,
Data float)
TRUNCATE TABLE GetSQL
INSERT INTO GetSQL VALUES (0, 0, 5.7)
INSERT INTO GetSQL VALUES (1, 0, 0.1)
INSERT INTO GetSQL VALUES (2, 1, 3.9)
INSERT INTO GetSQL VALUES (3, 1, 4.4)
INSERT INTO GetSQL VALUES (4, 2, 1.2)
INSERT INTO GetSQL VALUES (5, 2, 3.4)
DROP TABLE GetSQL1
CREATE TABLE GetSQL1
(
DataID int PRIMARY KEY,
DataInfo nvarchar(10),
)
INSERT INTO GetSQL1 VALUES (0, '类型1')
INSERT INTO GetSQL1 VALUES (1, '类型2')
INSERT INTO GetSQL1 VALUES (2, '类型4')

select S.*,G.DataInfo from GetSQL1 G join GetSQL s
on G.DataID=S.DataID

IndexID DataID Data DataInfo
----------- ----------- ---------------------- ----------
0 0 5.7 类型1
1 0 0.1 类型1
2 1 3.9 类型2
3 1 4.4 类型2
4 2 1.2 类型4
5 2 3.4 类型4

(6 行受影响)
htl258_Tony 2009-04-29
  • 打赏
  • 举报
回复
if object_id('GetSQL') is not null drop table GetSQL 
go
CREATE TABLE GetSQL
(
IndexID int PRIMARY KEY,
DataID int,
Data float)
TRUNCATE TABLE GetSQL
INSERT INTO GetSQL VALUES (0, 0, 5.7)
INSERT INTO GetSQL VALUES (1, 0, 0.1)
INSERT INTO GetSQL VALUES (2, 1, 3.9)
INSERT INTO GetSQL VALUES (3, 1, 4.4)
INSERT INTO GetSQL VALUES (4, 2, 1.2)
INSERT INTO GetSQL VALUES (5, 2, 3.4)
if object_id('GetSQL1') is not null drop table GetSQL1
go
CREATE TABLE GetSQL1
(
DataID int PRIMARY KEY,
DataInfo nvarchar(10),
)
INSERT INTO GetSQL1 VALUES (0, '类型1')
INSERT INTO GetSQL1 VALUES (1, '类型2')
INSERT INTO GetSQL1 VALUES (2, '类型4')

select a.*,b.DataInfo from GetSQL a,GetSQL1 b where a.DataID=b.DataID

/*
IndexID DataID Data DataInfo
----------- ----------- ---------------------- ----------
0 0 5.7 类型1
1 0 0.1 类型1
2 1 3.9 类型2
3 1 4.4 类型2
4 2 1.2 类型4
5 2 3.4 类型4

(6 行受影响)
*/
百年树人 2009-04-29
  • 打赏
  • 举报
回复
select 
a.*,
b.DataInfo
from
GetSQL a
left join
GetSQL1 b
on
a.DataID=b.DataID
csdyyr 2009-04-29
  • 打赏
  • 举报
回复
select a.*,b.DataInfo 
from GetSQL a join GetSQL1 b
on a.DataID=b.DataID
lgx0914 2009-04-29
  • 打赏
  • 举报
回复
select getsql.*,getsql1.datainfo from GetSQL,GetSQL1 where GetSQL.dataid=GetSQL1.dataid

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧