我正在尝试写一个
的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
任何帮助都会很棒!
答案 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子句,您只需将其添加到上面的查询中。