gpt4 book ai didi

php - 博客和新闻交织在一起 - 加入或联盟或其他什么?

转载 作者:行者123 更新时间:2023-11-29 03:45:28 24 4
gpt4 key购买 nike

我有 4 张 table 。

news:                news_link:            blog
--------- ----------- ---------
news_id, news_link_id, blog_id,
news_title, news_link_news_id, blog_artist_id,
news_content, news_link_artist_id blog_title,
news_image, blog_content,
news_date, blog_date,
news_sticky_status, blog_date_edited,
news_sticky_order, blog_status,
news_status, blog_keywords
news_keywords,
news_date_edited

另一张 table 是给艺术家的

我使用 news_link 执行基本连接以将新闻项链接到艺术家没有问题。

我的博客表中有 artist_id。

我想在特定艺术家页面上按日期显示博客条目,并在博客项目中显示与该艺术家相关的新闻条目。

这是我想要的输出:

title, date, content, status

我尝试了一些连接。我需要工会吗?这些表有不同的标签,新闻表需要 news_link 连接才有意义。

实现此目标的最佳方法是什么?

最佳答案

我认为需要一个union,像这样:

<?php
$artist = mysql_real_escape_string($_GET['artist']);
$query =
"SELECT is_news, title, date, content, status FROM (
SELECT
1 as is_news
, a.artist_id as id
, n.news_title as title
, n.news_date as date
, n.news_content as content
, n.news_status as status
FROM artist a
INNER JOIN news_link nl ON (a.artist_id = nl.news_link_artist_id)
INNER JOIN news n ON (n.news_id = nl.news_link_news_id)
WHERE a.artist_id = '$artist'
UNION
SELECT
0 as is_news
, a.artist_id as id
, b.blog_title as title
, b.blog_date as date
, b.blog_content as content
, b.blog_status as status
FROM artist a
INNER JOIN blog b ON (a.artist_id = b.blog_artist_id)
WHERE a.artist_id = '$artist'
) s
ORDER BY s.id, s.date";

对于新闻项目,is_news 将为 1,对于博客项目,将为 0

如果您选择多位艺术家,查询将按艺术家对结果进行排序。

关于php - 博客和新闻交织在一起 - 加入或联盟或其他什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6337077/

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