2012-10-02 146 views
0

OK,我有兩個選擇語句Mysql的兩個SELECT語句與列值

我想要做的就是 爲此在一個select語句,其中im.alias_title =(in_image_alias_title OR a.user_id =1馬克差異user_id)AND a.approved = in_album_approved AND a.visible = in_album_visible;

我需要在兩個結果集之間進行識別 - 是否有一種方法可以在查詢中創建另一個列值,以表示它是用戶相冊還是屬於圖像的相冊。一張圖片可以有多個相冊。或者,它最好是保持獨立

/* Select all albums associated with an image */ 
SELECT a.alias_title, a.title, a.hits, a.created_on, a.updated_on, a.updated_by 
FROM album a 
INNER JOIN album_image ai ON a.id = ai.album_id 
INNER JOIN image im ON ai.image_id = im.id 
WHERE im.alias_title =in_image_alias_title AND a.approved = in_album_approved AND a.visible = in_album_visible; 

/* Select a users albums */ 
SELECT a.alias_title, a.title, a.hits, a.created_on, a.updated_on, a.updated_by 
FROM album a 
INNER JOIN album_image ai ON a.id = ai.album_id 
INNER JOIN image im ON ai.image_id = im.id 
WHERE a.approved = in_album_approved AND a.visible = in_album_visible AND a.user_id = user_id; 

回答

0

你描述你可以指定過濾條件,使用布爾表達式的結果表明,其原始查詢/查詢記錄是:

SELECT a.alias_title, a.title, a.hits, a.created_on, a.updated_on, a.updated_by, 
     im.alias_title = in_image_alias_title AS q1, -- was included in 1st query 
     a.user_id  = user_id    AS q2 -- was included in 2nd query 
FROM album  a 
    JOIN album_image ai ON a.id  = ai.album_id 
    JOIN image  im ON ai.image_id = im.id 
WHERE (im.alias_title = in_image_alias_title OR a.user_id = user_id) 
    AND a.approved = in_album_approved 
    AND a.visible = in_album_visible