mysql - SQL 操作数应包含 1 列

标签 mysql sql select join

我认为这应该很简单,但我似乎无法弄明白。

我有 2 个表。表A和表B由一个相同值的字段连接。

我想从表 A 中选择所有行。从表 B 中,我想选择所有连接到表 A 的行,其中表 A 中的列是特定值。

我是这样看的

SELECT tableA.*, (SELECT * FROM tableB INNER JOIN tableA on tableB.id = tableA.id WHERE tableA.complete = 1) FROM tableA

我已经运行了这段代码但是我得到了这个错误

Operand should contain 1 column(s)

我如何从表 A 中获取所有值并连接表 B 中的行,其中表 A 列为 1?

编辑:

这是我期望的输出结果

Table_A.someID    Table_A.col       Table_A.complete      Table_B.someID      Table_B.col
----------------|----------------|---------------------|-------------------|----------------
123             |   something    |          1          |    123            |   value
124             |   something    |          1          |    124            |   value
125             |   something    |          1          |    125            |   value
126             |   something    |          0          |                   |    
127             |   something    |          0          |                   |   

我希望表 A 中的所有行不考虑列的完整值,而表 B 中任何链接到表 A 且完整的行都是 1。

如果你需要更多的解释,我会解释更多

最佳答案

您不需要外部查询。这应该足够了

SELECT tableA.* 
FROM tableB INNER JOIN tableA on tableB.id = tableA.id  
WHERE tableA.complete = 1

关于mysql - SQL 操作数应包含 1 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27018928/

相关文章:

mysql - 转发工程师我的架构时出现错误 1064

mysql - 如何对sql中多列的相似值进行选择

mysql - MySQL 内存表是否有二进制安全列类型?

mysql - 更新只知道方向的mysql数字字段

sql - 在 SQL Server CE 中获取格式化日期

sql - 在 PostgreSQL 中查询时需要将空单元格替换为 "Blank"

mysql - 如何连接复合表

mysql - 在表中区分和计数

Mysql查询查找下相同订单的 friend 和 friend 的 friend

php - 使用 PHP 的 MySQL 简单加密技术