sql - CROSS APPLY 应用于不相关的 JOIN 表
问题描述
我注意到它CROSS APPLY
通常用于功能,但我以下列方式使用它:
SELECT pu.UserID UserID, A.AlertID
FROM tbl_Users pu
CROSS APPLY
(Select AlertID from tbl_Alerts) A
基本上对于每个用户,我想让它显示 tbl_Alerts 表中的 2 个警报。
因此,它会显示如下内容:
UserID AlertID
1 1
1 2
2 1
2 2
3 1
3 2
想知道在这种情况下这是否是合法使用CROSS APPLY
。
解决方案
首先,它只会返回一个用户 ID。
合法吗?我认为这要简单得多:
SELECT pu.UserID UserID, A.AlertID
FROM tbl_Users pu
CROSS JOIN tbl_Alerts A
WHERE pu.Userid = @UserID;
但是您的代码是正确的 SQL。
推荐阅读
- python - 使用 pyTelegramBotAPI 和 Telegram Bot API 的区别
- swift - 如何将 messageBottomLabel 放入消息气泡中?
- python - 带有 Scapy 的 Python Argparse - 打印帮助部分
- java - 在spring boot中创建接口并实现它而不是在控制器中执行所有代码有什么好处?
- mysql - Mysql 5.7 复制(A -> B -> C)不工作
- python - pdfWriter.write 加密后挂起
- java - 如何使输入函数 jdatechooiser netbens
- android - Fragment 可以像 MainActivity 一样工作吗?
- javascript - 如何在搜索栏中获取项目的详细信息?
- c++ - 在 CMake 中设置各种编译器以创建共享库