使用sql select语句获取2nd select语句的参数

时间:2010-05-01 22:40:16

标签: sql sql-server

我正在尝试写一个

的sql语句

我有2张桌子Store& StoreTransactions。 我的第一个select命令看起来像

SELECT [StoreID],[ParentStoreID] 
FROM Store

非常简单的东西。如何获取返回的StoreID并将其用于我的第二个选择语句?

SELECT [StoreTransactionID],[TransactionDate],[StoreID]
FROM StoreTransactions
WHERE StoreID = returned values from the above query

任何帮助都会很棒!

3 个答案:

答案 0 :(得分:3)

SELECT [StoreTransactionID],[TransactionDate],[StoreID]
FROM StoreTransactions
WHERE StoreID in (select StoreId from Store)

这称为嵌套选择或内部选择。

答案 1 :(得分:1)

其他几种做法......

SELECT [StoreTransactionID],[TransactionDate],[StoreID]
FROM StoreTransactions st
WHERE EXISTS
(
SELECT * 
FROM Store s
WHERE s.[StoreID] = st.[StoreID]
)

SELECT [StoreTransactionID],[TransactionDate],st.[StoreID]
FROM StoreTransactions st
INNER JOIN Store s ON s.[StoreID] = st.[StoreID]

答案 2 :(得分:1)

另一种写作方式是使用INNER JOIN

SELECT [StoreTransactionID],[TransactionDate],[StoreTransactions.StoreID]
FROM StoreTransactions INNER JOIN Store ON StoreTransactions.StoreID=Store.StoreID

在某些RDBMS中,这可能更有效。

如果您的商店查询还包含WHERE子句,您只需将其添加到上面的查询中。