簡體   English   中英

將三個SQL語句合並為一個

[英]Combining three SQL statements into one

我已經看過用SQL將兩個表合並為一個語句,但是我在網上找到的將3個或更多表合並的示例看起來很復雜。

我希望將3個陳述合並為一個,我相信這是可能的。 這是我想要實現的一些偽代碼。

Select tagId from tags where tagName = "test"
->
Select photoId from photoTags where tagId = (tagId from previous statement)
->
Select * from pictures where id = (photoId from previous statement)

如何將其合並為一個陳述? 我對使用JOIN有一個簡單的了解,但我不理解多個聯接。

作為一個陳述,我正在努力做到的甚至嗎?

謝謝

您應該能夠使用以下查詢訪問圖片:

SELECT p.* 
FROM pictures p
    INNER JOIN photoTags pt on pt.photoId = p.id  -- Join tables pictures and photoTags
    INNER JOIN tags t on pt.tagId = t.tagId -- join tables photoTags and tags
WHERE t.tagName = "test"

它從pictures表中選擇所有列,並按tagName="test"過濾數據

SELECT T.TagId,PT.PhotoId,P.* FROM Tag T 
JOIN photoTags PT On PT.tagId =T.TagId
JOIN pictures P On P.Id=PT.PhotoId
WHERE T.TagName="test"

嘗試這個

SELECT p.* 
FROM pictures p
    JOIN photoTags pt on pt.photoId = p.id 
    JOIN tags t on pt.tagId = t.tagId 
WHERE t.tagName = "test"

暫無
暫無

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

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