簡體   English   中英

當另一行具有相同的 id 但列中的值不同時,如何在 SQL 中選擇一行?

[英]How do I select one row in SQL when another row has same id but a different value in a column?

我正在創建一個網站,您可以在其中共享具有多個標簽的帖子,現在我遇到了一個帖子被多次顯示的問題,每個帖子都有一個標簽。 在我的數據庫中,我有一個表帖子和一個表標簽,您可以在其中鏈接 post_id。 現在我的問題是:我怎樣才能在這篇文章上只獲得一篇文章但有多個標簽?

數據庫查詢截圖

這應該可以工作,如果需要,編輯列名:

SELECT *, 
(SELECT GROUP_CONCAT(DISTINCT tag) FROM tags WHERE post_id = posts.id) 
FROM posts

您可以在 MySQL 中使用 GROUP_CONCAT(),在 MS SQL Server 中使用 string_agg()

SELECT posts.id,GROUP_CONCAT(tags.tag)
FROM posts
Left JOIN tags on tags.post_id = posts.id
GROUP BY posts.id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM