我有两个非常相似的表,它们部分都有相同的列名(和数据类型),所以我不必按1选择表1,而是希望使第一个表的列与第二个表的列相同(因此,如果它们有4个同名列,而不是选择后有8个列,它只显示3个)
JOIN items i ON i.characterId=c.characterId
WHERE i.itemId=18011
SELECT c.accountId,c.characterId,c.name,b.itemId,b.maxUpgrade,b.amount FROM characters c
JOIN bankItems b ON b.accountId=c.accountId
WHERE b.itemId=18011
下面是一个请求的例子,我从两个表中选择相同的信息,我需要做两个不同的请求,我希望我可以融合他们
表1(字符):
characterId accountId name
表2(项目):
characterId itemId maxUpgrade amount
表3(银行项目):
accountId itemId maxUpgrade amount
结果是:
accountId characterId name itemId maxUpgrade amount
但都在一个请求中,所以不需要键入 WHERE c.name=
两次
1条答案
按热度按时间hs1rzwqc1#
您可以在cte中对items和bankitems表进行并集,然后将cte上的characters表连接起来,例如使用accountid或characterid:
考虑到表结构,这个带有可选字段的解决方案应该是可行的。