我刚刚让自己陷入了一些SQL困境.我不认为我能说出这个问题 - 所以让我告诉你.
我有两张桌子,一张叫人,一张叫约会.我试图返回一个人的约会数量(包括他们有零).约会包含的person_id并有person_id每个预约.所以这COUNT(person_id)是一种明智的做法.
查询:
SELECT person_id, COUNT(person_id) AS "number_of_appointments"
FROM appointment
GROUP BY person_id;
Run Code Online (Sandbox Code Playgroud)
将正确返回,person_id具有的约会数量.但是,没有退回约会0的人(显然因为他们不在该表中).
调整语句以从person表中获取person_id给出了类似于:
SELECT person.person_id, COUNT(appointment.person_id) AS "number_of_appointments"
FROM appointment
JOIN person ON person.person_id = appointment.person_id
GROUP BY person.person_id;
Run Code Online (Sandbox Code Playgroud)
然而,这仍然只会返回一个有约会的person_id而不是我想要的那个与0个约会的人一起返回的人!
有什么建议吗?
美好的一天.我正在寻求对monads的一些澄清,并使用bind(在进入复合材料时.)请.
所以对于这个例子:
--Monadic parts:
readFile :: String -> IO File
putStr :: String -> IO()
-- Non monadic parts
toMatrix :: String -> CustomMatrix
toString :: CustomMatrix -> String
Run Code Online (Sandbox Code Playgroud)
基本上我懒得读取一个文件(readFile)然后生成一个自定义矩阵,将矩阵转换为字符串输出.然后回来.
fileReading :: String -> IO
fileReading file = putStr(toString . toMatrix . readFile file)
Run Code Online (Sandbox Code Playgroud)
这是我开始通过使用bind >>=来创建一个混乱的时候readFile file.有没有办法我可以继续使用复合材料.,绑定和组合而不会造成难以理解的混乱(不是我真正的目标).
一如既往,感谢任何帮助.谢谢大家.
我正在循环一些XML文件并生成我想要以defaultdict(list)类型存储的树.每个循环和下一个找到的子项将存储在字典的单独部分中.
d = defaultdict(list)
counter = 0
for child in root.findall(something):
tree = ET.ElementTree(something)
d[int(x)].append(tree)
counter += 1
Run Code Online (Sandbox Code Playgroud)
因此,对多个文件重复此操作将导致精确索引的结果; 跨越不同解析文件的位置1的一组树,依此类推.问题是,我如何加入所有d,并将树(作为累积树)写入文件?
我可以遍历dict来获取每棵树:
for x in d:
for y in d[x]:
print (y)
Run Code Online (Sandbox Code Playgroud)
这给出了我的词典中的完整树木列表.现在,我如何从中生产出一棵大树?
鉴于这样做有明显的困难,我很高兴接受更一般的答案,这些答案显示我如何从两个或更多文件中获取我正在寻找的结果.
bind ×1
composite ×1
elementtree ×1
haskell ×1
monads ×1
postgresql ×1
python ×1
sql ×1
tree ×1
xml ×1