postgre查询已知项目表中的字段有类型和项目编号等其他字段,同一个项目编号中有类型3但是没有类型5显示类型3的数据,有类型5和类型3只显示类型5的数据的sql怎么写
时间: 2024-05-22 21:13:37 浏览: 107
可以写成如下 SQL 语句:
SELECT *
FROM 项目表
WHERE 项目编号 IN (
SELECT 项目编号
FROM 项目表
WHERE 类型 = 3 AND 项目编号 NOT IN (
SELECT 项目编号
FROM 项目表
WHERE 类型 = 5
)
)
OR 项目编号 IN (
SELECT 项目编号
FROM 项目表
WHERE 类型 = 5 AND 项目编号 NOT IN (
SELECT 项目编号
FROM 项目表
WHERE 类型 = 3
)
);
相关问题
postgre修改字段类型
如果你需要对 PostgreSQL 中的表进行修改字段类型,你可以使用 ALTER TABLE 语句。例如,如果要将某个字段的数据类型从 VARCHAR 变为 TEXT,可以使用以下命令:ALTER TABLE table_name ALTER COLUMN column_name TYPE TEXT;
postgre在select语句中查看查询出来的字段类型
在PostgreSQL中,可以使用以下两种方式查看查询出来的字段类型:
1. 使用\gdesc命令
在执行select语句后,输入\gdesc命令,即可查看查询出来的字段类型。例如:
```
SELECT * FROM my_table;
\gdesc
```
该命令会返回查询结果的列名、数据类型等信息。
2. 使用pg_typeof函数
可以在查询语句中使用pg_typeof函数获取字段类型。例如:
```
SELECT column1, pg_typeof(column1) FROM my_table;
```
该语句会返回查询结果的column1列和该列的数据类型。
阅读全文