gpt4 book ai didi

mysql - Cakephp 的 SQL JOIN 查询

转载 作者:可可西里 更新时间:2023-11-01 08:32:23 26 4
gpt4 key购买 nike

我有 2 个表,一个叫做 items,另一个叫做 sliders

我想调用 sliders.item_id = items.id 的所有列,并且两者都以 items.published=1sliders.published=1 的形式发布。但我也想调用 NULL 的 sliders.item_id

所以基本上就像一个右连接,我得到了所有与约束匹配的相关记录,但也得到了 slider 表上与项目表不对应的记录。

简而言之,重点是:我想获得属于项目的所有 slider (sliders.item_id=items.id) AND (sliders.published=1 AND items.published=1) 但也包含 item_id= 的 slider 无效的。

我提出了一个有效的查询,但它并不令我满意。

select *
from items
right join sliders
on items.id = 27
and items.id = sliders.item_id
and items.published = 1
where sliders.published = 1

表格

CREATE TABLE IF NOT EXISTS `items` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(30) NOT NULL,
`item_description` text NOT NULL,
`published` int(11) NOT NULL,
PRIMARY KEY (`id`)
)

CREATE TABLE IF NOT EXISTS `sliders` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`pic_path` text NOT NULL,
`item_id` int(11) DEFAULT NULL,
`published` int(11) NOT NULL,
PRIMARY KEY (`id`)
)

首先我想在基本的 MySQL 查询中使用它,因为我稍后可以在 cakephp 中进行转换。

最佳答案

试试这个查询,

SELECT *
FROM items
RIGHT JOIN sliders
ON items.id = sliders.item_id
WHERE items.published = 1 AND sliders.published = 1

关于mysql - Cakephp 的 SQL JOIN 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23824705/

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