我想显示基于某个选择条件为true的表1中的所有结果,并根据表2的某个满足条件将表1中的每个结果设置一个变量为0或1。
SELECT * FROM Table1 WHERE Some_Condition=true
Foreach Table1.Name
SELECT IF(TID IS NULL, 0, 1) AS Variable FROM Table2
WHERE
Table2.Name=Table1.Name AND Table2.Val='p'
如何将所有这些都转换为一个SQL调用?
我想看到的例子是:
表1:
+----+-------------------+
| ID | Name |
+----+-------------------+
| 1 | John |
+----+-------------------+
| 2 | Alan |
+----+-------------------+
表2:所以在这里alan
是存在的,val='p'
,而不仅仅是存在的
+-------+-----------+-----+
| TID | Name | Val |
+-------+-----------+-----+
| 1 | Alan | p |
+-------+-----------+-----+
要从单个SELECT语句获得的SQL结果:
+------+----------+
| Name | Variable |
+------+----------+
| John | 0 |
+------+----------+
| Alan | 1 |
+------+----------+
我想你只是想加入:
SELECT t2.Name, IF(Tt2.ID IS NULL, 0, 1) AS Variable
FROM Table2 t2 JOIN
Table1 t1
ON t2.Name = t1.Name
WHERE t2.Val = 'p' AND <some condition on t1> = true;
在MySQL中,您可以将select
简化为:
SELECT t2.Name, (Tt2.ID IS NOT NULL) AS Variable
请注意,我将该名称添加到select
中,尽管它不在示例SQL中。
左联接和大小写语句可能适用于您。请参阅下面的查询。
SELECT A.Name AS item, (CASE WHEN B.Val='p' THEN 1 ELSE 0 END) AS Variable
FROM Table1 A LEFT JOIN Table2 B ON (A.Name=B.Name)
我有2个mysql语句,其中一个从4个链接表中获取所有信息,供员工使用。我正在尝试为另一个表中的每个staff member获取标题,但我无法将其添加到1语句中,因为它与所选的主表无关。我已经尝试了mysql语句的20个变体,但都没有成功。我确实让它通过第二条语句中的一个变量拉出标题并输出它,但它给每个语句都赋予了相同的标题,当它再次循环时似乎并没有更新变量。 第一条mysql语句读到(简化版很长
我的主课有两个班(我们称它们为classA和classB)。 是否有机会在classB中设置classA变量? 诸如此类: 非常感谢!问候
问题内容: 我试图编写一个简单的查询,在其中声明一些变量,然后在Oracle的select语句中使用它们。我以前可以在SQL Server中使用以下命令执行此操作: 从我完成的搜索看来,您无法在Select语句中声明和设置像这样的变量。这是对的还是我在发短信? 问题答案: 从我完成的搜索看来,您无法在Select语句中声明和设置像这样的变量。 这是对的还是我错过了什么? 在Oracle PL /
问题内容: 我的问题是我必须在try语句中设置变量,否则会出现编译错误。 稍后我需要使用该变量,但现在超出了范围,所以我相信。我在try语句外部初始化了该变量并将其设置为null,我以为可以在外部访问它,但仍然得到了。 下面的代码,其中有很多代码使阅读变得更容易-我知道这是不好的代码,但是我是Servlets的新手,只想看看它与所有活动部件一起运行时应如何工作。 我创建了另一个类,该类调用crea
我试图在另一个groovy脚本中定义变量,我想在当前脚本中使用它。我有两个这样的脚本: script1.groovy script2.groovy 当我打印ln(state)时,我得到一个缺少的属性异常。基本上,我希望script2具有可以在script1上下文中加载的配置变量。我该怎么做?