簡體   English   中英

MySQL選擇IF INNER JOIN

[英]MySQL Select IF INNER JOIN

我有3張桌子:

place (placeId,placeName,...)
event (eventId, eventName,...)
picture (pictureId,associateId,picturePath,type [1 place 2 event])

這就是我要的:

當圖片類型為1圖片時.associateId = place.placeId返回路徑

當圖片類型為2 picture.associateId = event.eventId返回路徑

1個地方 - >很多活動

1個地方 - >一張圖片

1個事件 - >一張圖片

可能是這樣的(請幫助):

SELECT Place.placeName, Picture.picturePath, Event.eventId, ... FROM Place INNER JOIN Event ON Place.placeId = Event.eventPlace INNER JOIN Picture ON (IF Picture.type=1 return Picture.picturePath ELSE Picture.type=2 return Picture.picturePath)

這個咨詢返回給我一個json來顯示日期的頁面上的事件:

SELECT Place.placeName, Place.placePopularity, Picture.picturePath, Event.eventId, Event.eventCount
FROM Place INNER JOIN Picture ON Place.placeId = Picture.associateId 
    INNER JOIN Event ON Place.placeId = Event.eventPlace
WHERE Picture.type = 2 AND Event.eventDate = '$date'
ORDER BY Event.eventCount DESC

用這個運行if else

    if () { // picture type 1
        // this is the query
        $query = "SELECT pictureTable.picture_path FROM placeTable INNER JOIN picture_table ON placeTable.placeId = picture_table.associateId";
        } else { // picture type 2 means for event

        $query = "SELECT pictureTable.picture_path FROM eventTable INNER JOIN  picture_table ON eventTable.eventId = picture_table.associateId";
       // now you can get the result
       }

希望這可以幫助。

暫無
暫無

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

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