gpt4 book ai didi

php - 从同一用户的两个表中获取数据?

转载 作者:行者123 更新时间:2023-11-29 02:06:16 24 4
gpt4 key购买 nike

我有两个表格问题和答案。

- questions{id,user_id,question,date}
- answers {id,q_id,user_id,answer, date}

我想检索同一个用户输入的问题和答案

 i.e. select all answer and all questions for ID=39 order by date DESC

而且在我有一个查询之后,我想通过获取数组并显示数据,我如何区分它是一个问题还是一个答案,以便我可以正确地显示它们。

编辑:

SELECT 'Q' AS
TYPE , q.question AS value, q.date
FROM questions q
WHERE q.user_id =39
UNION ALL SELECT 'A' AS
TYPE , q.question AS value, a.date
FROM answers a,questions q
WHERE a.q_id = q.id
AND
WHERE a.user_id =39
ORDER BY `date` DESC

我很抱歉,但我试图获得已回答的问题而不是答案本身。我在顶部更新了 sql 和数据库设计,但我一直收到错误

最佳答案

使用:

  SELECT 'Q' AS type,
q.question AS value,
q.date
FROM QUESTION q
WHERE q.user_id = ?
UNION ALL
SELECT 'A' AS type,
a.answer AS value,
a.date
FROM ANSWER a
WHERE a.user_id = ?
ORDER BY `date` DESC

UNIONUNION ALL 用于组合查询以返回单个结果集。 UNION 删除重复项; UNION ALL 不会删除重复项,因此比 UNION 更快。但是 UNION 语句中所有 SELECT 语句的 SELECT 子句中的列数必须相同。它们的数据类型必须在每个位置匹配。

为了区分答案和问题值,示例定义了静态值“A”代表答案,“Q”代表问题。您的应用层代码可以处理这些以根据需要格式化数据。

关于php - 从同一用户的两个表中获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5450511/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com