sql - 在创建视图上选择用户
问题描述
我有一张桌子project.users
和一张桌子project.questions
我必须创建一个视图来选择用户提出的所有问题。但是如何在WHERE
子句中选择用户?
name_user 是用户表的主键
CREATE VIEW project.getAllQuestions(id_question, name_user, date, text ,title) AS
SELECT qu.id_question, qu.name_user, qu.date, qu.text, qu.title
FROM project.questions qu WHERE qu.name_user= ????
ORDER BY qu.date
解决方案
视图没有参数——视图的行为就像一张表。
也许你想要一个集合返回函数:
CREATE FUNCTION get_user_questions(auser text) RETURNS SETOF project.questions
LANGUAGE sql AS
'SELECT * FROM project.questions
WHERE name_user = auser';
推荐阅读
- xmpp - XMPP 名册联系人可以没有 IM 或存在但有 vCard 吗?
- postgresql - Postgres LEFT JOIN 作为 json 对象属性
- vb.net - 将多个 FileSystemInfo 数组合并为一个 FileSystemInfo 集合
- r - 将双列拆分为单独的列并合并同名列
- c# - 使用 PostSharp 一次验证多个项目中的类名
- google-colaboratory - Google Collab 笔记本是否共享资源?
- graphql - 如何在 GraphQL FaunaDB 中为多个字段创建唯一索引
- rust - 如何在 Rust Diesel 中使用时间戳和间隔进行算术运算
- reactjs - 从 Mac 上的 localhost 提供的奇怪的持久性资源
- r - 为 R 中的每个栅格图层选择最大值