问题列表 - 第35497页

SQL加入三个表,加入优先级

我有三张桌子:R,S和P.

表R通过外键与S连接; 有应该是S中至少一个的记录,所以我可以加入:

SELECT
        *
    FROM 
        R
    JOIN    S ON (S.id = R.fks)
Run Code Online (Sandbox Code Playgroud)

如果在S中没有记录,那么我没有行,这没关系.

然后表S与P连接,其中记录是P可能存在也可能不存在并且与S连接.

所以我这样做

SELECT
        *
    FROM 
        R
    JOIN    S ON (S.id = R.fks)
    LEFT JOIN P ON (P.id = S.fkp)
Run Code Online (Sandbox Code Playgroud)

如果我想将第二个JOIN绑定到S而不是R,如果我可以使用括号,该怎么办?

SELECT
        *
    FROM 
        R
    JOIN    (S ON (S.id = R.fks) JOIN P ON (P.id = S.fkp))
Run Code Online (Sandbox Code Playgroud)

或者这是R,S和P之间笛卡尔积的自然行为?

sql

23
推荐指数
1
解决办法
2万
查看次数

概述,但功能编程非常结束

函数式编程中的一般函数是什么样的?

有人说"我们没有物体,但我们有更高阶的功能".更高阶的函数会替换对象吗?

在编写面向对象的应用程序时,我尝试从更一般的概念转向更详细的概念,很多时候.如果我尝试在函数式编程中这样做,我是否需要更多高阶函数?

lisp haskell

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

Delphi:Char和TCharArray数组"不兼容的类型"

我在下面的评论中遇到过几次"不兼容类型"错误,并且从未对Delphi 2007中没有直接支持的原因感到满意:

program Project1; {$APPTYPE CONSOLE}

type TCharArray = array of Char;

procedure DoArray(Chars: array of Char);
begin
end;

function ReturnTCharArray: TCharArray;
var CharArray: TCharArray;
begin
  Result := CharArray;
end;

begin
  DoArray(ReturnTCharArray); // [DCC Error] Project1.dpr(18): E2010 Incompatible types: 'Array' and 'TCharArray'
end.
Run Code Online (Sandbox Code Playgroud)

是不是可以将数组类型"别名"为另一个彼此兼容的数组类型?假设我无法更改DoArray的声明(它是第三方库的一部分),我如何编写一个返回与DoArray的param兼容的char数组的函数?直截了当的"函数ReturnAChar:Char数组;" 导致"标识符预期但发现'ARRAY'"错误.我甚至尝试将返回数组的函数更改为带有var"array of char"pram的过程,但是这也不允许在过程中设置"Char数组"参数的长度("Constant对象不能传递作为var参数").

arrays delphi types char

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

cin.get()不起作用

我今天写了这个简单的程序,但我发现cin.get()除非有2个程序,否则拒绝工作.有任何想法吗?

#include <iostream>
using namespace std;

int main(){
    int base;
    while ((base < 2) || (base > 36)){
          cout << "Base (2-36):" << endl; 
          cin >> base;
          }
    string base_str = "0123456789abcdefghijklmnopqrstuvwxyz";
    for (int i = 0; i < base; i++){
        for (int j = 0; j < base; j++){
            for (int k = 0; k < base; k++){    
                cout << base_str[i] << base_str[j] << base_str[k] << endl;
            }
        }
    }
    cin.get();
    cin.get();
}
Run Code Online (Sandbox Code Playgroud)

如果我cin.get()在嵌套循环之前移动到一个循环,则循环运行然后暂停.如果我拿出一个cin.get() …

c++ syntax syntax-checking

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

在WIX中执行自定义操作时未安装的文件

我正在为我想要安装的软件包编写WXS文件.为了简单起见,假设我想安装1个文件然后我想对它执行一个命令(在我的例子中,它是一个公共GPG密钥,我想在安装完成后导入它).以下是我的WXS文件的相关部分:

<CustomAction Id="ImportKey" Directory="INSTALLDIR"
              ExeCommand="[SystemFolder]cmd.exe /C gpg --import keyfile.key"
              Return="check" />

<!-- Install file keyfile.key into C:\GnuPG -->
<Directory Id="TARGETDIR" Name="SourceDir">
    <Directory Id="INSTALLDIR" Name="GnuPG">
        <Component Id="GnuPGConfiguration" Guid="E9469F1C-A875-1014-A3B3-DEF3264B13C4">
            <File Name="keyfile.key" Id="KeyfileKey" />
        </Component>
    </Directory>
</Directory>

<Feature Id="GnuPGConfiguration" Level="1" Title="GnuPG Configuration">
    <ComponentRef Id="GnuPGConfiguration" />
</Feature>

<!-- Run custom action after files are installed -->
<InstallExecuteSequence>
    <Custom Action="ImportKey" After="InstallFiles">NOT Installed AND NOT PATCH</Custom>
</InstallExecuteSequence>
Run Code Online (Sandbox Code Playgroud)

我可以成功构建MSI.安装时,我使用msiexec并打开日志记录.它说安装在自定义操作上失败,并在日志中找到正确的命令.手动运行它.如果我注释掉命令的执行,则文件安装在正确的位置(安装后存在C:\ GnuPG\keyfile.key).

我尝试运行dir ant将其输出重定向到文件,而不是运行我的GPG命令.查看它,我可以看到keyfile.key不在C:\ GnuPG中的文件中.似乎该命令在安装文件之前运行.

关于我做错了什么的任何想法?

wix

2
推荐指数
1
解决办法
1773
查看次数

组织Redmine项目?

我是开发几个webapp网站的唯一开发人员.我在subversion中有它们,但我没有使用项目管理工具.

我最近得到了redmine,我想在那里设置项目.我正在寻找的是如何在Redmine中构建这两个项目的建议.从我可以收集到的,结构是Project-> subproject.所以我想把它映射到我的待办事项列表结构.从我的待办事项列表中,有三种任务:新功能,错误修复和维护(不是完全错误的修复,但真正需要清理的东西).

我应该将每个webapp作为顶级项目,将功能,错误和维护作为子项目吗?还有其他组织项目的方式吗?例如,在颠覆操作手册,他们建议有project/trunk,project/branches,project/testing,project/releases,等在那里为在管理平台的工作类似的指引?

project-management project-organization redmine

9
推荐指数
1
解决办法
7643
查看次数

如何在windows下的cmd窗口中显示日语汉字?

我有一个英文Windows 2003服务器,启用了亚洲语言支持.命令窗口可用的两种唯一字体(cmd设置)是raster和lucida console.这一个或另一个都没有正确显示汉字(显示为问号).

是否有解决方案让它们显示出来?在写入控制台之前,我的应用程序中是否必须进行一些转换?

我现在正在写UTF8,对于一些非ASCII字符(如öäüß)也有效.写入控制台的源代码具有正确的数据(可以在调试器中正确查看汉字).如果重要,我正在用C#编写应用程序.

编辑:我发现这个链接解释了问题背后的问题,并为C#提供了一个解决方案(涉及本机调用).这适用于.NET 4.5(我未经测试)

windows console cmd utf-8

15
推荐指数
2
解决办法
3万
查看次数

我们可以增加Android手机麦克风的增益吗?

我试图增加Android手机麦克风的增益,这样它就能听到非常微小的声音.这可能吗?你能帮我解决这个问题吗?

audio android

7
推荐指数
1
解决办法
2万
查看次数

在同一个表中复制一行而不必键入50+列名称(同时更改2列)

在我的工作期间,我通常必须在更改主键并为其提供新戳并可能更改外键时复制行.

问题是我不想在做的时输入所有列名;

insert into table_name
select pk_seq.nextval, 
       'foreign-key', 
       col3,
       col4...col51
  from table_name
 where pk_id = "original_primary_key"
Run Code Online (Sandbox Code Playgroud)

如果我在select语句中执行*,我将无法更新前2列...

有什么方法可以做我想做的吗?

sql oracle

28
推荐指数
2
解决办法
2万
查看次数

什么是"高级模块"和"低级模块"(在依赖性倒置原则的背景下)?

我正在阅读维基百科对依赖性倒置原则的定义,它使用两个术语高级模块低级模块,我无法弄清楚.

他们是什么,依赖倒置原则与他们有什么关系

language-agnostic dependencies module inversion-of-control dependency-inversion

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