English 中文(简体)
表1
原标题:SQL Data from One of Two Tables

我有两个表格,只有一栏。 我正试图撰写一份储存程序,从一栏中提取价值,但表格中只有一个。 这是我写的:

IF EXISTS(
SELECT identifier FROM TableA WHERE identifier= 12345 )
SELECT ColumnWhichOnlyExistsInA FROM TableA WHERE identifier= 12345 
ELSE
SELECT ColumnWhichOnlyExistsInA FROM TableB WHERE identifier= 12345 

这给我留下了最后一行的印记错误,尽管红十字与红新月联会的声明是真实的,它只应从表A中删除。 我已注意到,如果我用所储存的程序取代最底层的两份选任书,而这种程序是一样的,那么,它就能够运作起来;它只是试图在联合会不实的情况下执行。

我想把所有东西保留在一个储存程序中。 这样做的最佳方式是什么?

最佳回答

Your query is failing to COMPILE because the compiler checks that columns to be selected exist in the respective tables - so the IF statement never gets executed.

该系统采用单独的存储程序,因为这些程序是按期需求汇编的,因此只有所储存的“工作”汇编。

To get around the problem use Dynamic SQL

 DECLARE @SQLString varchar(max)
 IF EXISTS (SELECT idenfier FROM TableA WHERE identifier= 12345 )
 BEGIN
    SET @SQLString =  SELECT ColumnWhichOnlyExistsInA FROM TableA WHERE identifier=  12345   
 END
 ELSE
 BEGIN
    SET @SQLString =  SELECT ColumnWhichOnlyExistsInA FROM TableB WHERE identifier=  12345   
 END

 EXECUTE sp_executesql @SQLString
问题回答

Have you tried querying the schema as your first test? Eg select table_name from information_schema.columns where column_name= ColumnWhichOnlyExistsInA

在能够运行之前,区长将试图将KLQ捆绑起来,这也意味着,如果所有参考栏都列在桌上,总会试图核对KQ。

举例来说,以下表格中没有栏目<代码>1。

IF EXISTS(SELECT 1 FROM sys.tables WHERE name= foo ) 
    SELECT * from sys.objects where name=  s 
ELSE 
    SELECT * from sys.tables where name1=  s 

表3 B没有识别符号,因为一栏中将出现错误





相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

难以执行 REGEXP_SUBSTR

I m 查询Oracle 10g。 我有两张表格(样本数据见下文)。 i m 试图提取一些领域

SQL Query Shortcuts

What are some cool SQL shorthands that you know of? For example, something I learned today is you can specify to group by an index: SELECT col1, col2 FROM table GROUP BY 2 This will group by col2

PHP array callback functions for cleaning output

I have an array of output from a database. I am wondering what the cleanest way to filter the values is example array Array ( [0] => Array ( [title] => title 1 ...

OracleParameter and DBNull.Value

we have a table in an Oracle Database which contains a column with the type Char(3 Byte). Now we use a parameterized sql to select some rows with a DBNull.Value and it doesn t work: OracleCommand ...

Running numbers in SQL

I have a SQL-statement like this: SELECT name FROM users WHERE deleted = 0; How can i create a result set with a running number in the first row? So the result would look like this: 1 Name_1 2 ...

How to get SQL queries for each user where env is production

I’m developing an application dedicated to generate statistical reports, I would like that user after saving their stat report they save sql queries too. To do that I wrote the following module: ...

热门标签