gpt4 book ai didi

php - mysql,加入2个表,并检查2个条件

转载 作者:行者123 更新时间:2023-11-29 00:58:46 24 4
gpt4 key购买 nike

MySQL

表 1:

+--------+------+
| listid | type |
+--------+------+
| 1 | a |
+--------+------+
| 2 | a |
+--------+------+
| 3 | b |
+--------+------+

表 2:

+----+--------+------+
| id | listid | code |
+----+--------+------+
| 1 | 1 | ax |
+----+--------+------+
| 2 | 1 | bx |
+----+--------+------+
| 3 | 2 | ax |
+----+--------+------+
| 4 | 2 | bx |
+----+--------+------+
| 5 | 2 | cx |
+----+--------+------+
| 6 | 3 | ax |
+----+--------+------+
| 7 | 3 | bx |
+----+--------+------+

任务

在一个查询中,我想检查是否:

1) 在表table2中只有“ax”和“bx”列为code

2)我在1)中得到的listid的类型是表table1

中的“a”

PHP

$a = mysql_query("SELECT t1.listid FROM table1 AS t1, table2 AS t2......");
$b = mysql_fetch_assoc($a);

if($b['listid'])
{
echo $b['listid'];
}
else
{
echo 'nothing found';
}

输出

listid = 1

listid = 2 为false,因为table2

中也包含"cx"

listid = 3 为 false,因为它在 table1

中的类型为“b”

我希望这是有道理的:)

最佳答案

SELECT  t1.listid
FROM t1
WHERE type = 'a'
AND id NOT IN
(
SELECT listid
FROM t2
WHERE code NOT IN ('ax', 'bx')
)

这也将匹配 t1 中的记录,这些记录在 t2 中根本没有对应的记录。

关于php - mysql,加入2个表,并检查2个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4764698/

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