gpt4 book ai didi

MySQL如果另一个表中不存在则返回不同的值

转载 作者:行者123 更新时间:2023-11-29 13:36:04 24 4
gpt4 key购买 nike

我有 itemslists 表,分别存储项目和列表。我正在尝试检索由 url 标识的特定列表中的所有项目。 urllists 中的唯一键。

SELECT 
items.item_name,
items.position,
items.checked,
lists.list_name
FROM
items
JOIN lists
WHERE
items.list_id=lists.list_id AND lists.url=?
ORDER BY items.position

这可行,但我想区分以下情况

  1. lists.url 不存在于 lists
  2. 它存在于列表中,但列表不包含任何项目。

目前,此查询在两种情况下都返回空集。在一个查询中执行此操作的好方法是什么?

最佳答案

选择列表LEFT JOIN 项目

SELECT items.item_name,
items.position,
items.checked,
lists.list_name
FROM lists
LEFT JOIN items ON items.list_id=lists.list_id
WHERE lists.url=?
ORDER BY items.position

如果列表存在但没有项目,您将得到单行。项目字段将为NULL

关于MySQL如果另一个表中不存在则返回不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18734241/

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