mysql表模式:entity(key为entityid)、post(key为entityid)、photo(key为entityid)
实体与post+photo表的比例是1:1,因为它们基本上是实体的子类别
sql请求:
SELECT * FROM entity
LEFT JOIN post ON post.entityId = entity.entityId
LEFT JOIN photo ON photo.entityId = entity.entityId
这将返回完整的架构,但对于没有照片的实体,返回的entityid为null。没有相应照片的每一行都将其entityid设置为null。
问题:在维护所有数据的同时,组合这些子组最干净的方法是什么?我只做了一个,普通的帖子连接,然后用另一个实体的照片连接,但是我的解决方案非常混乱,可能有更好的方法。
1条答案
按热度按时间wpx232ag1#
您需要显式地列出列。问题是列的名称相同。例如:
如果只有具有重复ID的列是
entityId
列,则可以使用USING
子句(假设您的数据库支持它):