一个sql面试题 - MS-SQL Server / 基础类
一个表,字段和内容如下:
name
a
b
c
d
假设这是个球队的队名表,每个球队要与其它三支队进行一次比赛,请用一个sql语句列出比赛的组合
每个球队要与其它三支队进行一次比赛
总的每次是四对,你总数也是四对,不就刚好一组吗?还是你提供的数据有问题?
SQL code:
--> 生成测试数据表: [tb]
IF OBJECT_ID('[tb]') IS NOT NULL
DROP TABLE [tb]
GO
CREATE TABLE [tb] ([name] [nvarchar](10))
INSERT INTO [tb]
SELECT 'a' UNION ALL
SELECT 'b' UNION ALL
SELECT 'c' UNION ALL
SELECT 'd'
--SELECT * from [tb]
-->SQL查询如下:
select a.name+' VS '+b.name as nvn from tb a ,tb b where a.name<b.name
/*
nvn
------------------------
a VS b
a VS c
a VS d
b VS c
b VS d
c VS d
(6 行受影响)
*/
受猫大侠的点醒,也猜一下
SQL code:
--> 测试数据:[ta]
if object_id('[ta]') is not null drop table [ta]
go
create table [ta]([name] varchar(1))
insert [ta]
select 'a' union all
select 'b' union all
select 'c' union all
select 'd'
--------------------------------查询开始------------------------------
select a.name+char(32)+'vs'+char(32)+b.name
from [ta] a cross join [ta] b
where a.name<>b.name
/*
------
a vs b
a vs c
a vs d
b vs a
b vs c
b vs d
c
相关问答:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jas ......
我一个项目,有个插入操作,具体是这样的:
我有进货信息表。在出货时选择相应的进货信息,输入数量,选择部门后,点保存按钮,由于网络延时,点一下没有反映,于是用户就又点一下,导致一次插入了两条记录:
例:
......
今天做了一个存储过程 环境是SQL2000数据库
大致如下
建立临时表
定义员工游标
循环员工(属于1个公司)
......
原SQL语句SQL code:
SELECT t6.FName '操作工',t1.FDate '日期',t5.FName '制单人',t3.FName '设备',t4.FName '班制',
t7.FBillNo '工艺指令单号',t8.FName '岗位',t2. ......