开发者

Using UNION in a query with PHP

I have an SQL query 开发者_StackOverflow中文版which links 3 tables using UNION:

$sql ="(SELECT Drive.DriveID,Ram.Memory from Drive,Ram where Drive.DriveID = Ram.RamID) UNION
(SELECT Drive.DriveID,External.Memory from Drive, External where Drive.DriveID = External.ExtID)";

Suppose I want to get Ram.Name as well. How do I do this? If I use Ram.Name in the first SELECT statement it would not produce the correct result.

Any method for tackling this? I want to do it using UNION.


In a Union query, all of the columns must be specified in all of the statements in the same order.

Therefore you'd need to have

(SELECT Drive.DriveID,Ram.Memory,Ram.Name
 from Drive,Ram
 where Drive.DriveID = Ram.RamID)
UNION
(SELECT Drive.DriveID,External.Memory, '' as Name
 from Drive, External
 where Drive.DriveID = External.ExtID)

Or if your External table has a Name field you could Include that one instead of an empty string.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜