繁体   English   中英

如何联接SQL表

[英]How to JOIN SQL Tables

我似乎无法弄清楚如何将这两个表连接起来,以通过单个查询在一个有效负载中执行并返回所有我需要的东西。 任何帮助将不胜感激。

如您所见,如果我放置;,则所有内容都适用于查询的前半部分。 在“ IN”后面的右括号结尾处。

但是,当我将这个表与另一个表propA_Photos联接时,MySQL会抛出错误。 我只希望在一个查询中将propA_Photos.photo列与上述内容一起加入。

我究竟做错了什么?

SELECT propA.list_id, propA.list_key, propA.list_value
FROM propA
where list_id = '20141118214124325535000000'
    AND list_key IN ('LIST_1', 'LIST_22', 'LIST_33', 'LIST_31', 'LIST_34', 'LIST_35', 'LIST_36', 'LIST_37', 'LIST_39', 'LIST_40', 'LIST_43', 'LIST_41', 'LIST_46', 'LIST_47') 
INNER JOIN propA_Photos.photo;

您缺少联接子句,我不确定您的数据库是否可以。

SELECT 
    propA.list_id, propA.list_key, propA.list_value
FROM propA
INNER JOIN propA_Photos.photo
        ON propA_Photos.<<Attr1>> = propA.<<Some_Attribute>>
WHERE list_id = '20141118214124325535000000' 
  AND list_key IN (.. lot of stuff... ) 

连接表时,您需要遵循特定的语法和运算符顺序。

where子句应在join子句之后,并且您需要指定条件,该条件确定如何使用on子句连接表。

您可能想要这样的东西:

SELECT propA.list_id, propA.list_key, propA.list_value 
FROM propA 
INNER JOIN propA_Photos.photo ON propA.some_column = propA_Photos.some_column
-- the join should likely by using primary key = foreign key
WHERE list_id = '20141118214124325535000000' 
  AND list_key IN (
    'LIST_1',  'LIST_22', 'LIST_33', 'LIST_31', 
    'LIST_34', 'LIST_35', 'LIST_36', 'LIST_37', 
    'LIST_39', 'LIST_40', 'LIST_43', 'LIST_41', 
    'LIST_46', 'LIST_47'
    );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM