我有两张桌子.一个表A有n行数据,另一个表B是空的.我希望insertn行到表中B,表中的每一行有1行A.表B中将包含表中的几个字段A,包括表中的外键A.
最后,我希望每行中B有一行A.要做到这一点我用过:
INSERT INTO B(Col1
,Col2
,Col3
,Col4
,Col5
);
SELECT 100
,25
,'ABC'
,1
,A.ID
FROM Auctions A
Run Code Online (Sandbox Code Playgroud)
现在,我已将此代码放在存储过程中,此SP将int调用一个参数NumInserts.
我想插入n * NumInserts行.因此,如果n为10且NumInserts为5,我想运行此代码5*10(50)次.
换句话说,table A我希望每行中有insert5行table B.我该怎么办?
ArticleNumber Company Storage
01-01227 12 2
01-01227 2 1 'filtered by company/storage in combination
01-01227 5 1
01-01227 12 1 'filtered by company/storage in combination
01-44444 5 4 'filtered by not match the articlenumber
Run Code Online (Sandbox Code Playgroud)
我想过滤,以便将包含(company = 12 和 storage = 1)和(company = 2 和 storage = 1)的行从结果集中过滤出来,并在上过滤articlenr。
这是我想出的,但是确定必须有一种更简单的方法来进行该查询吗?
SELECT * FROM MyTable
where
(Company=2 and Storage<>1 and ArticleNumber='01-01227')
or
(Company=12 and Storage<>1 and ArticleNumber='01-01227')
or
(Company<>2 and Company<>12 and ArticleNumber='01-01227')
Run Code Online (Sandbox Code Playgroud)
我追求的结果:
ArticleNumber Company Storage …Run Code Online (Sandbox Code Playgroud) 我看到一个类似的查询
select *
from Table1
group by Step
having count(*) % 2 = 1
Run Code Online (Sandbox Code Playgroud)
有什么诀窍 having count(*) % 2 = 1
谁能解释一下?
编辑:常见的使用领域是什么?
使用logparser将IIS日志导入db会导致一列具有日期值,另一列具有时间:
2010-05-25 00:00:00.000
Run Code Online (Sandbox Code Playgroud)
和
2010-01-01 11:11:58.000
Run Code Online (Sandbox Code Playgroud)
我想编写一个after insert结合了2个字段的触发器.
考虑这个表:
create table t (EventId int
,Section int
,PlayerName nvarchar(50)
,Score int
,Rank int
)
Run Code Online (Sandbox Code Playgroud)
我试图写T-SQL确实有EVENTID作为输入,并使用该RANK功能由得分排名,但与部分分离(在每一节等等级个别每个部分,1级为最高分),然后设置/更新Rank值
SELECT -1 * 100 / 10
SELECT 100 * -1 / 10
Run Code Online (Sandbox Code Playgroud)
结果不同.第一次返回-10,第二次0.显然它是由订单引起的.
但是我找不到任何有关除法具有比乘法更高权重的信息.
查看http://technet.microsoft.com/en-gb/library/ms190276%28v=sql.105%29.aspx 乘法和除法是在同一水平上并阅读它的书写
当表达式中的两个运算符具有相同的运算符优先级时,它们将根据它们在表达式中的位置从左到右进行计算.
对此,第二个查询应该像这样评估:100 * -1 -> result / 10不应该吗?
emacs说,在org-mode中的python源块中,在点击Cc Cc之后
禁用对python源块的评估
谁有人解释为什么?
两者之间的表现有什么不同
select *
from table name
Run Code Online (Sandbox Code Playgroud)
和
select [col1]
,[col2]
......
,[coln]
from table name
Run Code Online (Sandbox Code Playgroud) 我有一堆表需要克隆来自的子集.我已经使用了许多循环来递归地完成了这项任务,但是它很慢.
问题是表上的层次结构是使用INT IDENTITY(1,1)列结构的,这意味着我必须将旧Id的映射到新Id的等.
我希望能够批量克隆每个阶段并使用该OUTPUT语句执行此映射,但我无法实现此目的,因为我无法访问语句FROM中的OUTPUT表.下面的示例显示了我想要实现但不起作用的内容.
CREATE TABLE #NewIds (IdNew INT, IdOld INT)
INSERT INTO IdTest
OUTPUT inserted.Id, i.Id
INTO #NewIds
SELECT id
FROM IdTest i
WHERE id IN (SELECT Id FROM #IdTestsToClone)
Run Code Online (Sandbox Code Playgroud)
任何人都可以向我解释如何使这个工作?
我一直在尝试以fltk几种不同的方式构建Windows,但我总是最终:
configure:错误:C编译器无法创建可执行文件(msys fltk/configure)
要么
检查工作C编译器:C:/MinGW/bin/gcc.exe - 破解(CMake-gui)
我已经试过了fltk 1.3.0,1.3.3而且我甚至使用了三种不同的MinGW发行版,GCC版本:5.1.0; 4.9.2和3.4.5.但它不会编译.以下是./configure文件生成的一些错误日志:
$ ./configure --prefix = C:/libs/fltk-1.3.3
-----------
核心测试.
-----------
configure:1336:检查构建系统类型configure:1354:result:i686-pc-mingw32 configure:1362:检查主机系统类型configure:1376:result:i686-pc-mingw32 configure:1439:检查gcc configure:1455:found/c/mingw32/bin/gcc configure:1465:结果:gcc configure:1709:检查C编译器版本configure:1712:gcc --version&5 gcc.exe(i686-win32-dwarf-rev2,由MinGW-W64构建项目)4.9.2版权所有(C)2014 Free Software Foundation,Inc.这是免费软件; 查看复制条件的来源.没有保修; 甚至不适用于适销性或特定用途的适用性.
配置:1715:$?= 0 configure:1717:gcc -v&5使用内置规范.COLLECT_GCC = c:\ mingw32\bin\gcc.exe COLLECT_LTO_WRAPPER = c:/ mingw32/bin /../ libexec/gcc/i686-w64-mingw32/4.9.2/lto-wrapper.exe目标:i686-w64-mingw32配置:../../../src/gcc-4.9.2/configure --host = i686-w64-mingw32 --build = i686-w64-mingw32 --target = i686-w64-mingw32 - prefix =/mingw32 --with-sysroot =/c/mingw492/i686-492-win32-dwarf-rt_v4-rev2/mingw32 --with-gxx-include-dir =/mingw32/i686-w64-mingw32/include/c ++ --enable-shared --enable-static --disable-multilib --enable-languages = ada,c,c …