gpt4 book ai didi

mysql - 如何在此 MySQL 查询中包含 IF 语句?

转载 作者:行者123 更新时间:2023-11-29 14:47:22 25 4
gpt4 key购买 nike

MySQL

表1:

+----+--------+---------+------+
| id | itemid | type | name |
+----+--------+---------+------+
| 1 | 1 | product | t |
+----+--------+---------+------+
| 2 | 2 | product | t |
+----+--------+---------+------+
| 3 | 3 | service | t |
+----+--------+---------+------+

表2:

+--------+---------+
| itemid | display |
+--------+---------+
| 1 | 1 |
+--------+---------+

PHP

$a = mysql_query("SELECT * FROM `table1` WHERE `name` LIKE '%t' ....");

我想修改上面的查询并测试:

如果type = Product,则itemid不应包含在table2中,其中display = 1

进一步说明:

所以,我想看看 table1 中与 t 匹配的行是否是产品。

如果它不是产品(即服务),只需继续显示它即可。

如果它一个产品,我想进一步检查它的itemid是否包含在table2

如果包含,则不显示它。

如果未包含,则显示它。

抱歉,我不知道还能怎么解释。 :/

最佳答案

如果我理解正确的话,您想要排除 type = 'product' 的行:

SELECT * FROM table1 t1, table2 t2
WHERE t1.itemid = t2.itemid
AND t1.id = '1'
AND t1.type <> 'product'

(如果这不是您想要的,恕我直言,需要进一步解释)

更新:排除所有 type = 'product' 在 table2 中具有匹配行的内容:

SELECT * FROM table1 t1
WHERE t1.id = '1'
AND (t1.type <> 'product' OR NOT EXISTS (
SELECT NULL from table2 t2
WHERE t1.itemid = t2.itemid )

关于mysql - 如何在此 MySQL 查询中包含 IF 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6651716/

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