【问题标题】:SQL Subquery not working properlySQL 子查询无法正常工作
【发布时间】:2014-04-16 07:38:09
【问题描述】:

我有一个类似的表结构

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  -
------------------------------

我正在尝试在 RevisionsLatest_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

【问题讨论】:

  • RS.c_name. RS.c_val 应该用逗号而不是点分隔吗?你得到了什么结果?

标签: sql ms-access subquery


【解决方案1】:

我认为联合是解决方案。有点像..

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

【讨论】:

    【解决方案2】:
    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'
    

    【讨论】:

      【解决方案3】:

      为什么不使用联合而不是内连接...

      select * from (
      select c_name,c_val,fid from Revisions
      union 
      select c_name,c_val,fid from Latest_updates)x
      where fid = 1
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-29
        相关资源
        最近更新 更多