簡體   English   中英

如果不返回結果,是否可以在SQL中獲取查詢值?

[英]Is it possible to get the query value in a SQL if it doesnt return result?

想象一下這個數據庫表:

|id |value|
|1a |a    |
|2b |b    |
|3c |c    |

和以下SQL:

select * from bar b where b.id in (1,2,3,4)

是否有可能獲得如下所示的信息:

|id |value   |
|1a |a       |
|2b |b       |
|3c |c       |
|4d |<null>  |

基本上,我想知道哪個查詢參數沒有返回值。

您必須創建一個包含所有所需值的內聯值。 然后LEFT JOIN表中,以這樣的:

select t1.id, t2.* 
from (
   SELECT 1 AS id UNION ALL SELECT 2 UNION ALL 
   SELECT 3 UNION ALL SELECT 4
) AS t1
LEFT JOIN bar AS t2 ON t1.id = t2.id

如果您能夠將自己的ID插入自己的數據庫表中,則可以使用類似的方法

SELECT t1.id, t2.value
FROM (SELECT id FROM guids) as t1
  LEFT JOIN table2 ON t1.id = t2.id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM