mysql 表联合和新列
mysql tables union and new column
给两个后续 tables,
phone table:
PID NAME
1001 iphone
1002 samsung
1003 sony
pc table:
CID NAME
1001 HP
1002 XPS
我怎样才能得到结果table?
DID TYPE NAME
1001 PHONE iphone
1002 PHONE samsung
1003 PHONE sony
1001 PC HP
1002 PC XPS
我觉得这个应该用UNION,但是这个TYPE怎么处理呢?
如果你也想复制结果,你应该使用 UNION ALL,否则你可以使用 UNION 来消除重复值。
您的查询将是这样的,
select pid as DID,'PHONE' as TYPE,name from phone
UNION all
select CID as DID,'PC' as TYPE,name from PC;
这将 select 两个表中的所有记录。
SELECT PID AS DID, 'PHONE' AS TYPE, NAME FROM Phone
UNION ALL
SELECT CID AS DID, 'PC' AS TYPE, NAME FROM PC;
使用这个查询:
select pid as DID,'PHONE' as TYPE, name from phone
UNION
select cid as DID,'PC' as TYPE, name from PC;
给两个后续 tables,
phone table:
PID NAME
1001 iphone
1002 samsung
1003 sony
pc table:
CID NAME
1001 HP
1002 XPS
我怎样才能得到结果table?
DID TYPE NAME
1001 PHONE iphone
1002 PHONE samsung
1003 PHONE sony
1001 PC HP
1002 PC XPS
我觉得这个应该用UNION,但是这个TYPE怎么处理呢?
如果你也想复制结果,你应该使用 UNION ALL,否则你可以使用 UNION 来消除重复值。
您的查询将是这样的,
select pid as DID,'PHONE' as TYPE,name from phone
UNION all
select CID as DID,'PC' as TYPE,name from PC;
这将 select 两个表中的所有记录。
SELECT PID AS DID, 'PHONE' AS TYPE, NAME FROM Phone
UNION ALL
SELECT CID AS DID, 'PC' AS TYPE, NAME FROM PC;
使用这个查询:
select pid as DID,'PHONE' as TYPE, name from phone
UNION
select cid as DID,'PC' as TYPE, name from PC;