SELECT query to return a row from a table with all values set to Null

这一生的挚爱 提交于 2019-12-24 09:52:07

问题


I need to make a query but get the value in every field empty. Gordon Linoff give me the clue to this need here: SQL Empty query results which is:

select t.*
from (select 1 as val
     ) v left outer join
     table t
     on 1 = 0;

This query wors perfectly on PostgreSQL but gets an error when trying to execute it in Microsoft Access, it says that 1 = 0 expression is not admitted. How could it be fixed to work on microsoft access?

Regards,


回答1:


If the table has a numeric primary key column whose values are non-negative then the following query will work in Access. The primary key field is [ID].

SELECT t2.*
FROM
    myTable AS t2
    RIGHT JOIN
    (
        SELECT TOP 1 (ID * -1) AS badID 
        FROM myTable AS t1
    ) AS rowStubs
        ON t2.ID = rowStubs.badID

This was tested with Access 2010.




回答2:


I am offering this answer here, even though you didn't think it worked in my edit to your original question. What is the problem?

select t.*
from (select max(col) as maxval from table as t
     ) as v left join
     table as t
     on v.val < t.col;



回答3:


You can use the following query, but it would still need a little "manual coding".

EDITS:

  1. Actually, you do not need the SWITCH function. Modified query below.
  2. Removed the reference to Description column from one line. Still, you would need to use a Text column name (such as Description) in the last line of the query.

For example, the following query would work for the Months table:

select Months.*
from Months
RIGHT OUTER JOIN
(select "" as DummyColumn from Months) Blank_Data
ON Months.Description = Blank_Data.DummyColumn; --hardcoded Description column


来源:https://stackoverflow.com/questions/23760573/select-query-to-return-a-row-from-a-table-with-all-values-set-to-null

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!