我正在构建一个查询来收集来自多个表的数据。我想从一张表中抓取所有item_ids
,然后根据item_id
从其他表中收集其他数据来构建结果。我可以发誓,这是可能的;但是,我似乎无法让它工作。这里是我想要做的一个例子:MySQL查询/子查询问题
SELECT item_id AS mainID,
(SELECT anotherField
FROM anotherTABLE
WHERE item_id=mainID)
FROM theMainTable;
当然这只是一个例子。实质上,我需要使用子查询中主查询的item_id
。我可以发誓,我以前做过,但我不记得如何...
我试图做的只是一个查询,而不是任何额外的编程语言。我想最终将其设置为存储过程。感谢或有任何帮助。
UPDATE
看起来像一个联接没有工作......感谢所有帮助。
这里是我的,以防万一别人最终查询运行到这样的事情:
SELECT DISTINCT
Q.item_id, Q.timestamp, Q.employee,
QA.employeeNotes, Q2.itemDesc, Q2.itemExtraData
FROM
itemLog Q
LEFT JOIN
itemComments QA ON Q.item_id = QA.item_id
LEFT JOIN
itemLog Q2 ON Q.item_id = Q2.item_id AND Q2.type = 'begin'
WHERE
Q.verb = 'itemStatus'
AND NOT (QA.employeeNotes IS NULL);
不,使用联接 – kalpaitch
我没有尝试加入,因为我想通了实际查询正想对此太多了。我会给你一个镜头...... – W3BGUY
你应该使用一个带有QA的内部连接,因为你希望它的某个字段在where子句中不为空 - 谢谢你接受我的答案。 – Sebas