我希望使用一个表中的整数值来查找另一个sql表中的字符串值。例如,我有两个表:
╔═════════╦═══════════╦═════════════════╦═══════════════════╗
║ CarType ║ CarColour ║ AbnormalCarType ║ AbnormalCarColour ║
╠═════════╬═══════════╬═════════════════╬═══════════════════╣
║ 1 ║ 1 ║ 1 ║ 2 ║
║ 1 ║ 2 ║ null ║ null ║
║ 2 ║ 1 ║ 1 ║ 2 ║
║ 2 ║ 2 ║ 1 ║ 1 ║
╚═════════╩═══════════╩═════════════════╩═══════════════════╝
在另一张table上我有:
╔═══════════╦═══════════════╦═════════════╦═════════════════╦══╗
║ CarTypeId ║ CarTypeString ║ CarColourId ║ CarColourString ║ ║
╠═══════════╬═══════════════╬═════════════╬═════════════════╬══╣
║ 1 ║ "Hyundai" ║ 1 ║ "Red" ║ ║
║ 1 ║ "Hyundai" ║ 2 ║ "Blue" ║ ║
║ 2 ║ "Toyota" ║ 1 ║ "Green" ║ ║
║ 2 ║ "Toyota" ║ 2 ║ "Yellow" ║ ║
╚═══════════╩═══════════════╩═════════════╩═════════════════╩══╝
然后是输出
╔═════════╦═══════════╦═════════════════╦═══════════════════╗
║ CarType ║ CarColour ║ AbnormalCarType ║ AbnormalCarColour ║
╠═════════╬═══════════╬═════════════════╬═══════════════════╣
║ Hyundai ║ Red ║ Hyundai ║ Blue ║
║ Hyundai ║ Blue ║ null ║ null ║
║ Toyota ║ Green ║ Hyundai ║ Blue ║
║ Toyota ║ Yellow ║ Hyundai ║ Red ║
╚═════════╩═══════════╩═════════════════╩═══════════════════╝
我尝试了一个双内部连接,第一次是cartype,carcolour,然后是unnormalcartype和unnormalcarcolour,但它没有产生我想要的结果。
谢谢!
1条答案
按热度按时间1rhkuytd1#
下面是bigquery标准sql
如果要应用于示例中的示例数据
输出如预期