小编use*_*967的帖子

我可以使用带有两个变量的case/switch语句吗?

在JavaScript方面我是新手,我的理解是使用一个SWITCH/CASE语句比一大堆IF语句更快.

但是,我想使用带有两个变量的SWITCH/CASE语句.

我的网络应用程序有两个滑块,每个滑块有五种状态.我希望行为基于这两个变量的状态.显然,这是很多IF/THEN声明的全部内容.

我想到的一种方法是将两个变量连接成一个然后我可以SWITCH/CASE.

有没有更好的方法来使用两个变量完成SWITCH/CASE?

谢谢 !

javascript case switch-statement

24
推荐指数
6
解决办法
11万
查看次数

汇总两个数组中的XML数据

我是XSL和XML的新手,我希望这是一个简单的问题.我有一个XML文件,其中包含两个数字数组,我需要求和.这是XML文件的一部分

<?xml version="1.0" encoding="UTF-8"?>
<out_xml>
<Root>
    <ItemCollection>
        <Item name="BaseLineOffSet" type="2">
            <Histogram>
                <DispOrder>This is Order</DispOrder>
                <IntensityArray>
                    <Intensity>105.84667205810547</Intensity>
                    <Intensity>105.83854675292969</Intensity>
                    <Intensity>105.57729339599609</Intensity>
                    <Intensity>105.66104888916016</Intensity>
                    <Intensity>105.56392669677734</Intensity>
                    <Intensity>105.33917236328125</Intensity>
                    <Intensity>105.33854675292969</Intensity>
                    <Intensity>105.31544494628906</Intensity>
                    <Intensity>105.40036010742187</Intensity>
                    <Intensity>105.21470642089844</Intensity>
                    <Intensity>105.14356994628906</Intensity>
                    <Intensity>104.92792510986328</Intensity>
                    <Intensity>104.93791961669922</Intensity>
                    <Intensity>104.93979644775391</Intensity>
                    <Intensity>104.96470642089844</Intensity>
                    <Intensity>105.01107025146484</Intensity>
                    <Intensity>104.76479339599609</Intensity>
                    <Intensity>104.9085693359375</Intensity>
                    <Intensity>104.70166778564453</Intensity>
                    <Intensity>104.75499725341797</Intensity>
                    <Intensity>104.77352905273437</Intensity>
                    <Intensity>104.77714538574219</Intensity>
                    <Intensity>104.59485626220703</Intensity>
                    <Intensity>104.73235321044922</Intensity>
                    <Intensity>104.35479736328125</Intensity>
                    <Intensity>104.56911468505859</Intensity>
                    <Intensity>104.38999938964844</Intensity>
                    <Intensity>104.30992889404297</Intensity>
                    <Intensity>104.37964630126953</Intensity>
                </IntensityArray>
            </Histogram>
        </Item>
        <Item name="DispIntervalsMaxValues" type="2">
            <Histogram>
                <DispOrder>This is Order</DispOrder>
                <IntensityArray>
                    <Intensity>1.0229243040084839</Intensity>
                    <Intensity>48.868541717529297</Intensity>
                    <Intensity>47.504795074462891</Intensity>
                    <Intensity>162.17105102539062</Intensity>
                    <Intensity>91.323570251464844</Intensity>
                    <Intensity>44.405426025390625</Intensity>
                    <Intensity>51.243541717529297</Intensity>
                    <Intensity>131.44705200195312</Intensity>
                    <Intensity>2.8496425151824951</Intensity>
                    <Intensity>21.435295104980469</Intensity>
                    <Intensity>47.006423950195312</Intensity>
                    <Intensity>0.72917240858078003</Intensity>
                    <Intensity>46.669178009033203</Intensity>
                    <Intensity>83.804801940917969</Intensity>
                    <Intensity>44.197799682617187</Intensity>
                    <Intensity>32.138923645019531</Intensity>
                    <Intensity>30.30479621887207</Intensity>
                    <Intensity>58.928920745849609</Intensity>
                    <Intensity>29.930421829223633</Intensity>
                    <Intensity>38.282505035400391</Intensity>
                    <Intensity>30.801467895507813</Intensity>
                    <Intensity>43.710361480712891</Intensity>
                    <Intensity>38.167644500732422</Intensity>
                    <Intensity>27.842643737792969</Intensity>
                    <Intensity>34.102294921875</Intensity> …
Run Code Online (Sandbox Code Playgroud)

xml arrays xslt xpath addition

8
推荐指数
1
解决办法
545
查看次数

使用SQL Server从名为相同的XML节点获取所有数据

我有一个XML文件,其中我需要数据的节点都被命名为相同.我理解如何访问第一个(或第二个记录),以便以下查询只给我第二个作者(<a1>标记).如何将所有作者作为一个列?

      DECLARE @MyXML XML
      SET @MyXML = '<refworks>
            <reference>
               <rt>Journal Article</rt> 
               <sr>Print(0)</sr> 
               <id>869</id> 
               <a1>Aabye,Martine G.</a1> 
               <a1>Hermansen,Thomas Stig</a1> 
               <a1>Ruhwald,Morten</a1> 
               <a1>PrayGod,George</a1> 
               <a1>Faurholt-Jepsen,Daniel</a1> 
               <a1>Jeremiah,Kidola</a1> 
               <a1>Faurholt-Jepsen,Maria</a1> 
               <a1>Range,Nyagosya</a1> 
           </reference>
         </refworks>'

      SELECT 
          author.value('(a1)[2]', 'varchar(MAX)') AS 'Author'
      FROM @MyXML.nodes('/refworks/reference') AS ref(author)
Run Code Online (Sandbox Code Playgroud)

xml sql-server nodes

8
推荐指数
1
解决办法
3万
查看次数

您可以在数据透视表中小计行和/或列吗?

我有一组输出数据透视表的查询.是否可以获得数据透视表的行和/或列小计?

我选择的桌子看起来像这样

    Site     FormID   Present
    Site 1   Form A      Yes
    Site 1   Form B      Yes
    Site 1   Form D      Yes
Run Code Online (Sandbox Code Playgroud)

等等...

我的数据透视表查询就是这个

   SELECT *
   FROM (SELECT Site, COUNT(FormID) AS NumberOfForms,FormID
         FROM @CRFCount WHERE Present='Yes'
         GROUP BY Site, FormID) d
   PIVOT
   (SUM(NumberOfForms)
   FOR [Site] IN ([Site 1], [Site 2], [Site 3])
   )  AS p;
Run Code Online (Sandbox Code Playgroud)

但我真的希望它能产生这个(当然这对我来说并不完全)

    FormID  Site 1  Site 2  Site 3  Total
    Form A      8      8      15    31
    Form B     14      4    NULL    18
    Form C     14   NULL    NULL    14 …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server pivot subtotal

6
推荐指数
1
解决办法
6670
查看次数

查询Set Cover

美好的一天,我想为Set Cover问题实现一个T-SQL查询,但是无法在SQL中找到有关如何执行此操作的任何提示.

在我的情况下,我的表只有两列(IDnumberMut),我想找到IDNumber获得每一列的最小数量Mut.我真的想要获得三个IDnumbers,Mut但我认为我最好从一个开始,因为这可能更容易.

DECLARE @myTable TABLE (
    IDnumber int,
    Mut varchar(1))

INSERT @myTable VALUES 
 (1,'C'), (1,'N'), (1,'Z'), (1,'M'), (1,'E'), (2,'E'), (3,'B'), (3,'N'), (3,'D'), (3,'K'), 
(3,'W'), (4,'O'), (4,'G'), (4,'N'), (4,'B'), (4,'U'), (4,'C'), (5,'Q'), (5,'H'), (6,'K'), 
(6,'Y'), (6,'M'), (6,'A'), (6,'O'), (6,'U'), (6,'J'), (7,'H'), (7,'U'), (7,'M'), (7,'L'), 
(8,'B'), (8,'K'), (8,'P'), (9,'Y'), (9,'K'), (10,'Z'), (11,'R'), (12,'X'), (12,'R'), 
(12,'O'), (12,'Z'), (4,'C'), (1,'Z'), (4,'S'), (6,'E'), (5,'G'), (4,'C'), (4,'S'), (4,'H'), 
(6,'D'), …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server algorithm set-cover

6
推荐指数
1
解决办法
180
查看次数

使用晶格和线框在R表面下"看"点

我一直在研究R中一个相当复杂的图表.我有一个带有表面的线框,点分布在X,Y,Z空间中(例如在表面下面和上面).

问题在于情节不会"看起来"像点在表面之下.

我试图弄清楚如何最好地可视化此图表,使点看起来在表面下.线框和云的一些示例代码来自此处: R-List Posting

示例中的代码:

library(lattice)
surf <-
expand.grid(x = seq(-pi, pi, length = 50),
            y = seq(-pi, pi, length = 50))

surf$z <-
with(surf, {
    d <- 3 * sqrt(x^2 + y^2)
    exp(-0.02 * d^2) * sin(d)
})

g <- surf

pts <-   data.frame(x =rbind(2,2,2), y=rbind(-2,-2,-2), z=rbind(.5,0,-.5))

wireframe(z ~ x * y, g, aspect = c(1, .5),
      drape=TRUE,
      scales = list(arrows = FALSE),
      pts = pts,
      panel.3d.wireframe =
      function(x, y, z,
               xlim, ylim, zlim,
               xlim.scaled, ylim.scaled, zlim.scaled,
               pts, …
Run Code Online (Sandbox Code Playgroud)

3d r wireframe points lattice

5
推荐指数
1
解决办法
2068
查看次数

如何在t-sql中透视和计算百分比?

我有一个看起来像这样的表:

    DECLARE @myTable TABLE (country varchar(max), code int)  
    INSERT @myTable
    SELECT 'A', 1 UNION ALL
    SELECT 'A', 1 UNION ALL
    SELECT 'A', 1 UNION ALL
    SELECT 'A', 2 UNION ALL
    SELECT 'A', 2 UNION ALL
    SELECT 'B', 1 UNION ALL
    SELECT 'B', 1 UNION ALL
    SELECT 'B', 1 UNION ALL
    SELECT 'B', 1 UNION ALL
    SELECT 'B', 2 UNION ALL
    SELECT 'C', 1 UNION ALL
    SELECT 'C', 1 UNION ALL
    SELECT 'C', 1 ;
Run Code Online (Sandbox Code Playgroud)

我想绕过A/B/C,然后计算2的数量,并得到2的总和的百分比.

我可以通过此查询获得2的数量

    DECLARE @mySecondTable TABLE (country …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server pivot

5
推荐指数
1
解决办法
4412
查看次数

如何使用VBA循环访问MS Access记录集并为结果分配变量?

我的VBA很生疏,我似乎在画一个空白.如果重要,我正在使用MS Access 2010.

我有一个查询返回的两个字段结果(字段1是文字和Field2是双)和五个记录,我想字段2的值赋给基于什么是字段1五种不同的变量.对我来说,这是一种案例陈述 - 我如何在记录集上的VBA中执行此操作?

  Private Sub test()

  Dim myRS As DAO.Recordset
  Dim db As Database
  Dim strSQL As String
  Dim v1, v2, v3, v4, v5 As Double

  ' Pretend strSQL is a different query that gives five records

  Set dbs = CurrentDb
  strSQL = "SELECT Field1, BigNumber FROM tmp1"
  Set myRS = dbs.OpenRecordset(strSQL)

  Do While Not myRS.EOF
      v1 = ?         ' I want v1 = Field2 when Field1="A"
      v2 = ?         ' I want v2 = Field2 when …
Run Code Online (Sandbox Code Playgroud)

variables ms-access loops access-vba assign

4
推荐指数
1
解决办法
3万
查看次数