我的查询:
for key,val in First.children.iteritems():
if isinstance(val, tk.Toplevel):
print("window: " + val.title())
#or to get a list of all titles
titles = map(lambda win:win.title() , filter(lambda w : isinstance(w, tk.Toplevel), First.children.itervalues()))
if title not in titles:
#...
products_prd中的主键返回NULL。他们有价值观。而img.prd_id可能为NULL。
答案 0 :(得分:1)
问题是您有名称冲突 - 例如,有两个名为prd_id
的东西。您需要使用别名来重命名列:
SELECT prd.*, img.col1 as img_col1, img.col2 as img_col2
FROM products_prd prd LEFT OUTER JOIN
prd_images_img img
ON prd.prd_id = img.prd_id
ORDER BY prd.prd_datetime;
您不需要选择prd_id
两次。
或者,您可以使用USING
代替ON
:
SELECT *
FROM products_prd prd LEFT OUTER JOIN
prd_images_img img
USING (prd_id)
ORDER BY prd.prd_datetime;
这只返回USING
子句中的列一次(尽管如果其他列在两个表中具有相同的名称,则可能会遇到问题。)