0

这只是一个简单的连接,但为什么会失败?

  "id"  "borrowMax" "holder"    "category"  "country"
  "1"   "2"         "0"         "10"        "US"
  "2"   "0"         "1"         "0"         "US"

我实际上是在尝试将这两个 sql 合二为一。

select id, holder from mytable where id = 2
select borrowMax from mytable where id = (holder from the above select) and category = 10

我是怎么做的

SELECT col1.id, col1.holder, col2.borrowMax
FROM collection_db col1
JOIN collection_db col2
ON col2.holder = col1.id
WHERE col1.id = 2 //2 = Value supplied by me
AND col2.category = 10

结果我试图得到:

"id"    "holder"    "borrowMax"
"2" "1" "2"
4

2 回答 2

2

我认为结果是正确的

col2.holder = col1.id will give 

"id"  "borrowMax" "holder"    "category"  "country"
 1         ....     1  ...........................

然后另一个条件是col1.id = 2

这里没有记录2。所以你没有得到任何记录

于 2013-05-24T13:05:44.820 回答
1

在 JOIN ON 子句中给出列名时,认为您只是将表名弄错了:-

SELECT col1.id, col1.holder, col2.borrowMax FROM collection_db col1 JOIN collection_db col2 ON col1.holder = col2.id WHERE col1.id = 2 //2 = 我提供的值 AND col2.category = 10

于 2013-05-24T13:34:39.927 回答