2016-01-19 33 views
0

儘可能簡潔地嘗試和解釋。嘗試使用表中的數據類型來提取級聯的Q-urls

下面是一個基於我試圖編輯的虛擬查詢。

我想返回從同一張表中拉出的兩種不同類型。

的第一類型的數據是一個數字(從1-10分)

下一個數據類型是一個數字和字母,用來完成一個URL。

我的問題是,concat語句只返回空值。當我使用and語句僅指定URL數據時,另一列僅返回空值。

有沒有一種方法可以改變這種情況,只將一列中的一種類型的數據與另一列分開?

乾杯

select 
concat("example.com/",rs.answer,"/415x380.png") as Q_URL, 

    Ease_of_use.score as "Ease_Of_use" 
    from customer_feedback c  
    left join response_data Ease_of_use on (Ease_of_booking_use.response_overall_id=c.id and Ease_of_use.data_type_id=1536) 
    left join response_data rs on rs.customer_review_id=c.id 
    join data_type dt on dt.id=rs.data_type_id 
    where c.retailer_id in (678,1651)  
    and rs.answer is not null 
    and dt.response_type="photo_URL" 
    group by c.id 

回答

0

我不知道你所說的「我用的是和語句指定唯一的URL數據」的意思,但我會用ISNULL函數爲空值的默認值

CONCAT( 「example.com /」,ISNULL(rs.answer, 「默認值」), 「/ 415x380.png」)

,而不是使用rs.answer不爲空

+0

對不起,我會盡力澄清, response_data包含許多不同類型的值,這些類型的值分類在下表中,data_type 在查詢中,我寫了「and dt.response_type =」photo_URL「,以便concat照片URL不會填充負載其他數據在URL中沒有意義。我的問題是,我試圖返回兩種不同類型的數據類型,但使用我當前的查詢,沒有使用和語句,我返回了很多錯誤的URL,但是如果我這樣做,我的查詢就會丟失返回其他數據類型。 希望有道理! – Alex

+0

不用擔心,最終想通了。謝謝Ben! – Alex

相關問題