1
Ich habe 3 Tabellen:MySQL Select IF INNER JOIN
place (placeId,placeName,...)
event (eventId, eventName,...)
picture (pictureId,associateId,picturePath,type [1 place 2 event])
Dies ist, was ich will:
Bei einem Bildtyp 1 picture.associateId = place.placeId Rückpfad
wenn Bild Typ 2 picture.associateId = event.eventId Rückpfad
1 Platz -> viele Veranstaltungen
1 Platz -> ein Bild
1 Ereignis -> ein Bild
so etwas wie dieses sein kann (bitte helfen):
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)
auf einer Seite Diese konsultieren Sie mir eine Json zurückgeben Ereignisse zeigen deppending des Datum:
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
fügen Sie Ihre Tabellen mit SHOW CREATE TABLE bitte – e4c5
1 Platz kann viele Ereignisse haben, 1 Platz/Ereignis kann nur 1 Bild haben –
Bitte geben Sie einige Beispieldaten für alle drei Tabellen. Bitte zeigen Sie uns auch, was Sie erwarten würden, dass die Ausgabe Ihrer SQL wäre, wenn Sie es mit diesen Beispieldaten ausführen würden. – MJH