我有一个类似
的表结构Files Latest_Update
------------------- ------------------------------
Fid - Name - Type - l-id - c_name - c_val - Fid -
------------------- ------------------------------
1 - D1 - xls - 1 - text1 - hello - 1 -
------------------- ------------------------------
Revisions
------------------------------
r-id - c_name - c_val - Fid -
------------------------------
1 - text1 - bye - 1 -
------------------------------
我想在Revisions
或Latest_Update
中获取text1控件的所有值
这是我试过的
SELECT RS.c_name. RS.c_val from (SELECT Revisions.c_name, Revisions.c_val, Latest_Update.c_name,Latest_Update.c_val
From Revisions
INNER JOIN Latest_Update on Revisions.Fid = Latest_Updates.Fid) AS RS
但它不起作用,我需要结果像
Result
------------------------------
- c_name - c_val - Fid -
------------------------------
- text1 - Hello- 1 -
------------------------------
- text1 - bye - 1 -
------------------------------
我正在使用MS ACCESS 2010
答案 0 :(得分:2)
我认为工会是解决方案。像...这样的东西。
SELECT *
FROM (
SELECT Revisions.c_name, Revisions.c_val, Revisions.Fid
FROM Revisions
UNION ALL
SELECT Latest_Update.c_name,Latest_Update.c_val, Latest_Update.c_name,Latest_Update.Fid
FROM Latest_Update
) RS
<if needed add Where Condition>
ORDER BY RS.Fid
答案 1 :(得分:1)
为什么不使用union而不是内连接...
select * from (
select c_name,c_val,fid from Revisions
union
select c_name,c_val,fid from Latest_updates)x
where fid = 1
答案 2 :(得分:1)
SELECT c_name, c_val, Fid FROM Latest_Update
WHERE c_name = 'text1'
UNION ALL
SELECT c_name, c_val, Fid FROM Revisions
WHERE c_name = 'text1'