我有一个带有变量 $lid 的 php 页面和一个带有可变 $uid 的用户...我需要从 2 个表中选择一些数据来填充页面。
Table 1 Table 2
¦----------¦----------¦ ¦----------¦----------¦----------¦
¦ qid ¦ lid ¦ ¦ owner ¦ qid ¦timestamp ¦
¦----------¦----------¦ ¦----------¦----------¦----------¦
我需要编写一个 SQL 语句,从表 2 中获取所有内容,其中 owner = $uid 如果 qid 尚未在具有当前页面的 $lid 的表 1 中列出。
我试过了
SELECT * FROM table_two WHERE qid != (SELECT qid FROM table_one WHERE lid = " . $lid .") AND owner = " . $uid . ";
但没有快乐
有什么想法吗?
最佳答案
这会起作用:
SELECT *
FROM table_two
WHERE qid not in (
SELECT qid
FROM table_one
WHERE lid = " . $lid .")
这可能会表现得更好:
SELECT T2.*
FROM table_two t2
LEFT OUTER JOIN table_one T1 ON T2.QID = T1.QID
AND T1.LID = " . $lid ."
WHERE T1.qid IS NULL
关于php - SQL从一个表中选择不在另一个表中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11902540/