小编use*_*735的帖子

DISTINCT结果为ORA-01791:不是SELECTed表达式

select DISTINCT a.FNAME||' '||a.LNAME
   from AUTHOR a, books B, BOOKAUTHOR ba, customers C, orders
   where C.firstname='BECCA'
      and C.lastname='NELSON'
      and a.AUTHORID=ba.AUTHORID
      and b.ISBN=bA.ISBN
   order by a.LNAME
Run Code Online (Sandbox Code Playgroud)

给出ORA-01791:不是SELECTed表达式,但没有DISTINCT.

如何使它工作?

oracle10g

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

断言宏的解释

我无法评论答案本身,所以:关于使用逗号来防止需要括号对

 #define MY_ASSERT(expr) ((expr) || (debugbreak(), 0))
Run Code Online (Sandbox Code Playgroud)

这里debugbreak()返回void,但我们仍然希望将0作为右值.

(debugbreak(),0)如何返回0?我知道debugbreak()的返回值被丢弃并且返回0,但是debugbreak会生成异常,那么以后如何评估任何内容呢?我想我的问题可以推广到任何类似的二元运算符,其中被评估的第一部分退出程序.

c++

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

ORA-00937:不是单组组功能

SELECT MIN(retail)
FROM books
WHERE category = 'COMPUTER'
Run Code Online (Sandbox Code Playgroud)

工作正常,但当我在选择中包含标题时:

SELECT MIN(retail), title
FROM books
WHERE category = 'COMPUTER'
Run Code Online (Sandbox Code Playgroud)

它没有.为什么?如何使它工作?

sql min

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

如何使用sed用一个空格替换空格?

使用 sed "s/[[:blank:]]*/ /g" a>b 似乎不起作用。

whitespace sed

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

如何在终端模拟器选项卡或标题栏中查看进程名称

如何将当前正在运行的进程名称放入 GNOME 终端选项卡标题(或只有一个选项卡时的标题栏)?

尽管https://superuser.com/questions/42362/gnome-terminal-process-name-in-tab-title提供了一个解决方案(见下文),但它在启动时将每个选项卡都塞满了垃圾,以致于看起来已损坏。有没有更好的办法?

case "$TERM" in
xterm*|rxvt*)
    set -o functrace
    trap 'echo -ne "\e]0;$BASH_COMMAND\007"' DEBUG
    PS1="\e]0;\s\007$PS1"
    ;;
*)
    ;;
esac
Run Code Online (Sandbox Code Playgroud)

gnome-terminal terminal-emulator

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

为什么main()需要括号?

我尝试了几种变体

main() return;
Run Code Online (Sandbox Code Playgroud)

要么

main() if();
Run Code Online (Sandbox Code Playgroud)

并获得了不同的错误,其中最奇特的是

/usr/lib/gcc/i686-linux-gnu/4.4.5/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status

虽然程序只需要一个语句并不常见,但为什么main()要求使用大括号?

有人可以解释为什么在编译int main()时错误是如此奇特;?

c++ program-entry-point language-design

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

有一个sql reindenter?

我正在寻找漂亮的打印SQL代码.优选地基于免费和/或在线.

sql

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

将数据作为代码传递

我正在尝试解释作为输入的公式:

y= y argv[1][s] 5;
Run Code Online (Sandbox Code Playgroud)

例如,哪里argv[1][s]可以+ - *.
y = y + 5;
y = y*5;

我可以使用特定值的检查,但更有趣的是找出为什么这不起作用.

错误C2146:语法错误:缺少';' 在标识符'argv'之前

我认为发生的+是传递,'+'因此没有操作结果.有没有办法解决这个问题?

c++

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