簡體   English   中英

sql多對多連接選擇

[英]sql many to many select with join

我正在嘗試做出選擇語句,但我無法使其正常工作。

我有3個表: placestagsplaces_tags

Places:
   - id
   - name

Tags:
   - id
   - name

Places_tags:
   - place_id
   - tag_id
   - order

我正在嘗試選擇地點並加入插入的第一個標簽(使用順序)

SELECT p.*, t.tag_id AS tag
        FROM `places` as p
        LEFT JOIN places_tags t ON (t.place_id = p.id)
        group by p.id

那就是我現在所擁有的。 我需要添加諸如ORDER BY訂單DESC之類的東西...

我認為我做錯了。

類似於以下內容的東西應該起作用:

SELECT 
   p.name AS "place", 
   t.name AS "firstTag" 
FROM 
   places p 
   LEFT JOIN
   places_tags pt1 
      ON pt1.place_id = p.id
   LEFT JOIN
   places_tags pt2 
      ON pt2.place_id = p.id AND pt2.tag_id < pt1.tag_id
   LEFT JOIN 
   tags t 
      ON t.id = pt1.tag_id
WHERE
   pt2.tag_id IS NULL

暫無
暫無

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

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