在这里,我尝试创建视图,如下所示:
例:
create view view1
as
select table1.col1,table2.col1,table3.col3
from table1
inner join
table2
inner join
table3
on
table1.col4 = table2.col5
/* Here col4 of table1 is of "integer" type and col5 of table2 is of type "varchar" */
/* ERROR: operator does not exist: integer = character varying */
....;
Run Code Online (Sandbox Code Playgroud)
注意:在sql server中执行相同的查询但在postgreSQL中遇到上述错误.
我试图通过使用dblink through函数从远程数据库获取数据,但收到错误"查询没有结果数据的目标".我使用plpgsql语言做同样的事情.
功能:
CREATE OR REPLACE FUNCTION fun()
RETURNS text AS
$$
begin
select dblink_connect(
'port=5432 dbname=test user=postgres password=****');
WITH a AS (
SELECT *
FROM dblink(
'SELECT slno,fname,mname,lname
FROM remote_tbl'
) AS t (slno int, fname text, mname text, lname text)
)
, b AS (
INSERT INTO temptab1
SELECT slno, name
FROM a
)
, c AS (
INSERT INTO temptab2
SELECT slno, name
FROM a
)
INSERT INTO temptab3
SELECT slno, name
FROM a;
select dblink_disconnect(); …Run Code Online (Sandbox Code Playgroud) Q1:数据库中可以存储的最大表数是多少?
Q2:在视图中可以结合的最大表数是多少?
在这里,我需要计算PostgreSQL中两个日期的差异.
在SQL Server中:就像我们在SQL Server中一样,它更容易.
DATEDIFF(Day, MIN(joindate), MAX(joindate)) AS DateDifference;
Run Code Online (Sandbox Code Playgroud)
我的尝试:我正在尝试使用以下脚本:
(Max(joindate) - Min(joindate)) as DateDifference;
Run Code Online (Sandbox Code Playgroud)
问题:
我的方法是否正确?
PostgreSQL中是否有任何函数来计算它?
如果它存在于PostgreSQL的当前工作数据库中,我试图删除表.我正在尝试以下查询.
示例:
var1 := 'IF EXISTS (select * from INFORMATION_SCHEMA.TABLES WHERE name = ''Table_'|| Suffix ||''') then
DROP TABLE Table_'||Suffix||'';
execute var1;
Run Code Online (Sandbox Code Playgroud)
但是接近错误IF.
我正在尝试使用PostgreSQL中的函数在WITH中创建临时表.
示例:
with mm
as
(
select * from test
)
create table xyz as select * from mm
;
Run Code Online (Sandbox Code Playgroud)
注意:在创建附近获取错误
如何使用PostgreSQL在单个表中为多列提供主键?
例:
Create table "Test"
(
"SlNo" int not null primary key,
"EmpID" int not null, /* Want to become primary key */
"Empname" varchar(50) null,
"EmpAddress" varchar(50) null
);
Run Code Online (Sandbox Code Playgroud)
注意:我也想制作"EmpID"一个主键.
postgresql ddl database-design primary-key composite-primary-key
我有一个名为temp_table的表,它由以下行组成:
cola colb result
----------------
p4 s1 0
p8 s1 0
p9 s1 0
p5 f1 0
p8 f1 0
Run Code Online (Sandbox Code Playgroud)
现在我需要使用colb的count(*)更新结果列.我正在尝试以下查询:
update tem_table
set result = x.result
from tem_table tt
inner join(select colb,count(*) as result from tem_table group by colb) x
on x.colb = tt.colb;
Run Code Online (Sandbox Code Playgroud)
并从temp_table中选择不同的colb和结果:
select distinct colb,result from tem_table;
Run Code Online (Sandbox Code Playgroud)
获得输出:
colb result
-----------
s1 3
f1 3
Run Code Online (Sandbox Code Playgroud)
但预期的产出是:
colb result
-----------
s1 3
f1 2
Run Code Online (Sandbox Code Playgroud)
我没有得到我在查询中出错的地方?请帮帮我.谢谢
我需要列出/显示表中包含的所有聚集和非聚集索引。
如何使用 SQL Server 2008 R2 做到这一点?
我需要使用SQL Server 2008 R2从给定的日期时间获取日期名称.
示例:
给定日期:
'2014-11-14 00:00:00'
'2014-11-15 00:00:00'
Run Code Online (Sandbox Code Playgroud)
预期结果:
Date Day Name of Date
----------------------------------
2014-11-14 Friday
2014-11-15 Saturday
Run Code Online (Sandbox Code Playgroud) postgresql ×8
sql-server ×2
casting ×1
datediff ×1
dblink ×1
ddl ×1
indexing ×1
integer ×1
primary-key ×1
varchar ×1