gpt4 book ai didi

mysql - 如何从一个表中获取另一个表中不存在的值?

转载 作者:行者123 更新时间:2023-11-29 01:53:55 25 4
gpt4 key购买 nike

我有两个表 user 表和 book 表。

user_id   
1
2
3
4
5
book
user_id book_id
1 1
2 2
4 5

我想要那些不存在于 book 表中的 user 表中的记录。我该怎么做?我尝试了这段代码,但还有其他有效的方法吗?

$cri_user = new CDbCriteria;
$cri_user->select = "t.user_id";
$cri_user->condition = "t.user_id NOT IN (select tu.user_id from books as tu group by tu.user_id)";
$model_user = User::model()->findAll($user);

如果我得到 mysql 形式的解决方案,我可以将它转换成 yii。

最佳答案

还有一些方法可以做到这一点:

方法一:

$sql = "select t.* from user t left join book b on b.user_id = t.user_id where b.user_id is null";
$records = Yii::app()->db->createCommand($sql)->queryAll();
print_r($records);

方法二:

$records = Yii::app()->db->createCommand()
->select('t.*')
->from('user t')
->leftJoin('book b', 'b.user_id = t.user_id')
->where('b.user_id is null')
->queryAll();

print_r($records);

关于mysql - 如何从一个表中获取另一个表中不存在的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34260178/

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