小编Pad*_*mez的帖子

错误:未能找到从未知到文本的转换函数

PostgreSQL上有一个错误,它给我的一个select语句.我在网上搜索了一个答案然后空手而归.另一个问题给出的答案不符合我的问题.

ERROR:  failed to find conversion function from unknown to text
********** Error **********
ERROR: failed to find conversion function from unknown to text
SQL state: XX000
Run Code Online (Sandbox Code Playgroud)

我的查询看起来像这样:

Select * 
from (select 'string'  as Rowname, Data
      From table)
Union all
     (select 'string2' as Rowname, Data
      From table)
Run Code Online (Sandbox Code Playgroud)

这样做的目的是指定行在一个点上的位置.该字符串是行的名称.这是我想要的输出:

Rowname Data 
string  53
string2 87
Run Code Online (Sandbox Code Playgroud)

有没有办法解决这个错误?

sql postgresql union types casting

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

"union"或附近的SQL语法错误

我有一个小查询,并在其旁边放置另一个小查询的联合.但是,联合中有一个语法错误.

Select <column1>
      ,<column2>
From <Table1> 
<Some joins in there>
Where <conditions>
group by <column2>
order by <column2>

union

select <column2>
      ,<column3>
      ,<column4>
From <Table2>
<Some more joins here>
Where <conditions>
group by <column2>
order by <column2>
Run Code Online (Sandbox Code Playgroud)

这是我收到的错误

ERROR: Syntax error at or near 'union'
Run Code Online (Sandbox Code Playgroud)

sql postgresql union sql-order-by

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

有没有办法可以在from子句中放置case语句?

我试图根据某个方面从不同的位置进行选择.可以CASEFROM条款中加上一个陈述吗?

这就是我想要做的

FROM (Case WHEN @location = 'location A' THEN stockA 
WHEN @location = 'location B' then stockB end) ss
Run Code Online (Sandbox Code Playgroud)

如果我没有选择多个地点,StockA就是我想要的.SS是别名.

sql postgresql case

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

Date_trunc 按月?PostgreSQL

我将如何按月获得 date_trunc?会是这样吗?

SELECT date_trunc('month', l_date) month
    FROM this_table
    GROUP BY month
Run Code Online (Sandbox Code Playgroud)

l_date 是我要从中提取日期的列。

sql date

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

将聚合函数添加到WHERE子句中?

我想做一份报告,告诉所有在过去75天左右没有被呼叫过的客户.我的专栏如下.

Customer# Customer_Name Phone_Number Call_Date Salesman

通话日期会提取客户被叫方的日期.

这是我当前的查询.

select customer_no
      ,Customer_name
      ,Phone_number
      ,max(Call_Date) as Call_date
      ,Salesman
from salescalls
where call_date <= current_date - 75
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是它拉动每个客户并使用他们最后一次调用75天或更多天.

例如,当最后一个通话日期是6/4/14时,它会提取数字,并将通话日期列为11/10/13.

它不应该列出在过去75天内被调用的客户.所以为了防止这种情况,我试图在where子句中这样做.

Where max(call_date) <= current_date - 75
Run Code Online (Sandbox Code Playgroud)

但这只是给我一个错误:

aggregates not allowed in WHERE clause
Run Code Online (Sandbox Code Playgroud)

sql postgresql aggregate-functions where

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

对除法的商进行四舍五入?

我试图在 select 语句中划分两列,然后将商四舍五入到小数点后 4 位。

select round(round(sum(case when acct_no = '2999' 
      and date between '1/1/14' and current_date then amount end)::numeric, 4)::float
 / round(sum(case when acct_no = '3989' 
      and date between '1/1/14' and current_date then amount end)::numeric, 4)::numeric, 4) column
from table
Run Code Online (Sandbox Code Playgroud)

查询的其余部分将保存多个日期,因此其中的日期应该是必要的。

它给出的错误:

错误:函数 round(双精度,整数)不存在

这是在 PostgreSQL 中尝试过的。

sql postgresql rounding

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

要求 'barby' 不起作用。- 无法加载此类文件 -- barby

我正在尝试使用barby gem我安装的那个,但是当我这样做时,它给了我这个错误。

LoadError cannot load such file -- barby
Run Code Online (Sandbox Code Playgroud)

这是我的控制器中的 require 方法。

    require 'barby'
    require 'barby/barcode/ean_13'
    require 'barby/outputter/ascii_outputter'
    require 'barby/outputter/html_outputter'

    class PalletsController < ApplicationController
    -snip-
    end
Run Code Online (Sandbox Code Playgroud)

这是我的 gemfile 中的 gem。

gem 'barby'
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激。

ruby ruby-on-rails barcode require ruby-on-rails-4

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