sqlite3如何有条件地更改联接表中的字段(使用CASE..END with JOIN)?
我有两个表“object”和“list”sqlite3如何有条件地更改联接表中的字段(使用CASE..END with JOIN)?,sqlite,join,case,Sqlite,Join,Case,我有两个表“object”和“list”通过以下方式连接: $cmd="SELECT * FROM object LEFT JOIN list ON (object.id=list.imgref AND list.persoon={$_SESSION['id']})" ." WHERE (owner=0 OR owner={$_SESSION['id']}) "; 这是我想要的。 例如: 现在,在生成的组合表中,我希望在sqlite3 speak中将字段“object.cat”有条
通过以下方式连接:
$cmd="SELECT * FROM object LEFT JOIN list ON (object.id=list.imgref AND list.persoon={$_SESSION['id']})"
." WHERE (owner=0 OR owner={$_SESSION['id']}) ";
这是我想要的。
例如:
现在,在生成的组合表中,我希望在sqlite3 speak
中将字段“object.cat”有条件地更改为“list.catlist”的值:
当list.persoon={$\u SESSION['id']}然后object.cat=list.catlist结束时
例如(注意栏“cat”):
不幸的是,以下语句给出了一个错误:
$cmd="SELECT * FROM object LEFT JOIN list ON (object.id=list.imgref AND list.persoon={$_SESSION['id']})"
." CASE WHEN list.persoon={$_SESSION['id']} THEN object.cat=list.catlist END"
." WHERE (owner=0 OR owner={$_SESSION['id']}) ";
如果您能帮我找到正确的公式,我将不胜感激。必须在选择列表中显示大小写
表达式:
SELECT o.id,
CASE WHEN l.persoon={$_SESSION['id']} THEN l.catlist ELSE o.cat END AS cat,
o.owner, l.*
FROM object o LEFT JOIN list l
ON (o.id=l.imgref AND l.persoon={$_SESSION['id']})
WHERE (o.owner=0 OR o.owner={$_SESSION['id']})
请参阅。
结果(对于{$\u会话['id']}=2
):
CASE
表达式必须出现在SELECT
列表中:
SELECT o.id,
CASE WHEN l.persoon={$_SESSION['id']} THEN l.catlist ELSE o.cat END AS cat,
o.owner, l.*
FROM object o LEFT JOIN list l
ON (o.id=l.imgref AND l.persoon={$_SESSION['id']})
WHERE (o.owner=0 OR o.owner={$_SESSION['id']})
请参阅。
结果(对于{$\u会话['id']}=2
):
我不确定您真正的意思/想要什么。为清楚起见,请回答问题并添加表格定义(如创建表格
语句)、样本数据(如插入到
语句中)以及该样本数据的所需结果。我不确定您真正的意思/想要什么。为清楚起见,请回答问题并添加表格定义(作为创建表
语句),样本数据(作为插入到
语句中)以及样本数据的预期结果。它有效!!非常感谢,forpas,感谢您的帮助更正………EkeI不知道这一点,但我以后会这样做。再次感谢…EkeIt有效!!非常感谢,forpas,感谢您的帮助更正………EkeI不知道这一点,但我以后会这样做。再次感谢。。勉强维持
SELECT o.id,
CASE WHEN l.persoon={$_SESSION['id']} THEN l.catlist ELSE o.cat END AS cat,
o.owner, l.*
FROM object o LEFT JOIN list l
ON (o.id=l.imgref AND l.persoon={$_SESSION['id']})
WHERE (o.owner=0 OR o.owner={$_SESSION['id']})
| id | cat | owner | lid | imgref | catlist | persoon |
| --- | --- | ----- | --- | ------ | ------- | ------- |
| 1 | a | 0 | | | | |
| 2 | AA | 0 | 1 | 2 | AA | 2 |
| 3 | BB | 0 | 2 | 3 | BB | 2 |
| 4 | CC | 2 | 3 | 4 | CC | 2 |
| 6 | f | 0 | | | | |