これに関連するいくつかのスレッドを読んだことがありますが、私にとってうまくいく解決策を突き止めることができませんでした。おそらく私が遭遇したいくつかの例を誤解しているかもしれません。MySQLのIFと左結合 - 構文?
これは私が達成しようとしていることを理解するのに役立つ既存のクエリです。
SELECT type, refid, status, shortname, IsStore, IsProduct
FROM user_contributions c
WHERE UserID='#getuser.UserID#'
ORDER BY ID DESC
LIMIT 20
'IsProduct'と 'IsStore'の値は、常にNULLまたはYesのいずれかであり、各行はどちらか一方を持ちます。
私がする必要があるのは、 'IsStore'または 'IsProduct'(まだ私と一緒ですか?)の値に応じて、 'stores'テーブルまたは 'products'テーブルの左結合です。たとえば、IsStoreの値がyesの場合、LEFT JOINストアを追加します。WHERE ID = refid
結果フィールドの一貫性を保つ必要があると仮定して、storenameまたはproductnameに「AS title」を使用します一貫した出力。
私はこれを特によく説明しているかどうかはわかりませんので、その場合は明確にしてください。どんな助けでも大歓迎です!
質問は何ですか? –