我有像这样的MySQL 2表
的 TABLE_1
的 TABLE_2
我想要这样的结果表
结果表
所以,我把这个问题作为
SELECT A.TAG,B.VALUE
FROM TABLE_1 A
LEFT JOIN TABLE_2 B
On A.CODE=B.CODE;
当我想要这个结果表时,我可以创建自动地图字段,我只需要调用
SELECT TAG,VALUE FROM MAP_TABLE WHERE TAG IN('ASSX','ASPS','AAPP');
答案 0 :(得分:2)
您是否尝试过嵌套选择?
SELECT tag ,value FROM
( SELECT A.TAG as tag ,B.VALUE as value
FROM TABLE_1 A
LEFT JOIN TABLE_2 B
On A.CODE=B.CODE;)
WHERE tag IN('ASSX','ASPS','AAPP');
其他解决方案:从查询中创建新表。
create table map_table(
tag varchar(255),
value int);
然后用您需要的值填充此表:
INSERT INTO map_table
(SELECT A.TAG as tag ,B.VALUE as value
FROM TABLE_1 A
LEFT JOIN TABLE_2 B
On A.CODE=B.CODE;)
答案 1 :(得分:1)
您似乎尝试使用这样的子查询:
SELECT tag, value
FROM (SELECT a.tag, b.value
FROM table_1 a
LEFT JOIN table_2 b On a.code = b.code)
WHERE tag IN('ASSX','ASPS','AAPP');
但是,您只需将条件添加到第一个查询中:
SELECT a.tag, b.value
FROM table_1 a
LEFT JOIN table_2 b On a.code = b.code
WHERE a.tag IN('ASSX','ASPS','AAPP');