大佬教程收集整理的这篇文章主要介绍了postgresql – 左外连接 – 如何在第二个表中返回存在的布尔值?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
# \d pref_users table "public.pref_users" column | Type | ModifIErs ------------+-----------------------------+-------------------- ID | character varying(32) | not null first_name | character varying(64) | not null last_name | character varying(64) | login | timestamp without time zone | default Now() last_ip | inet | (... more columns skipped...)
另一个表格中包含大约500个用户不允许再玩的内容:
# \d pref_ban2 table "public.pref_ban2" column | Type | ModifIErs ------------+-----------------------------+--------------- ID | character varying(32) | not null first_name | character varying(64) | last_name | character varying(64) | city | character varying(64) | last_ip | inet | reason | character varying(128) | created | timestamp without time zone | default Now() Indexes: "pref_ban2_pkey" PRIMary KEY,btree (ID)
在php脚本中,我试图在jquery-datatable中显示来自pref_users的所有60000个用户.我想标记被禁用的用户(在pref_ban2中找到的用户).
这意味着我需要一个名为ban的列,用于查询中包含true或false的每个记录.
所以我正在尝试左外连接查询:
# SELEct b.ID,-- how to make this column a Boolean? u.id,u.first_name,u.last_name,u.city,u.last_ip,TO_CHAR(u.login,'DD.Mm.YYYY') as day from pref_users u left outer join pref_ban2 b on u.id=b.ID limit 10; ID | ID | first_name | last_name | city | last_ip | day ----+----------+-------------+-----------+-------------+-----------------+------------ | DE1 | Alex | | Bochum | 2.206.0.224 | 21.11.2014 | DE100032 | Княжна Мэри | | London | 151.50.61.131 | 01.02.2014 | DE10011 | Aлександр Ш | | Симферополь | 37.57.108.13 | 01.01.2014 | DE10016 | Semen10 | | usa | 69.123.171.15 | 25.06.2014 | DE10018 | Горловка | | Горловка | 178.216.97.214 | 25.09.2011 | DE10019 | -Дмитрий- | | пермь | 5.140.81.95 | 21.11.2014 | DE10047 | Василий | | Cумы | 95.132.42.185 | 25.07.2014 | DE10054 | Maedhros | | Чикаго | 207.246.176.110 | 26.06.2014 | DE10062 | ssergw | | москва | 46.188.125.206 | 12.09.2014 | DE10086 | Вадим | | Тула | 109.111.26.176 | 26.02.2012 (10 rows)
如您所见,上面的b.ID列为空 – 因为这10个用户未被禁止.
而且我不是在一些coalesceor case表达式之后,但我正在寻找“正确”的方式来进行这样的查询.
SELEct CASE WHEN b.ID IS NulL THEN true ELSE false END AS bAnned,u.id,'DD.Mm.YYYY') as day from pref_users u left outer join pref_ban2 b on u.id=b.ID limit 10;
以上是大佬教程为你收集整理的postgresql – 左外连接 – 如何在第二个表中返回存在的布尔值?全部内容,希望文章能够帮你解决postgresql – 左外连接 – 如何在第二个表中返回存在的布尔值?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。