0

我有两张桌子:

LOGGINGTYPES
id
name

LOGFILES
id
type_id (linked to loggintypes.id)
client_ip
time
logcontent

我对 MYSQL 很陌生,但我正在寻找一个查询,如果有链接到它的日志,它只从 loggingtypes 中选择 *。

使用“SELECT * FROM loggingtypes ORDER BY name”我得到了一切,我如何让它只选择链接到它的日志的行?

SELECT 
DISTINCT logging_types.id, loggingtypes.name 
FROM logging, logging_types 
WHERE logging.type_id = loggingtypes.id

最好的方法?

4

2 回答 2

0
SELECT lt.*
FROM LOGGINGTYPES lt
INNER JOIN LOFGILES lf
ON lt.ID = lf.type_id

INNER JOIN 会将您的 LOGGINGTYPES 列表限制为仅在 LOGFILES 中具有匹配项的记录

于 2013-04-18T16:17:48.627 回答
0

据我所知,您的查询是正确的。

一种替代方法是使用 Join:

select distinct 
    lt.id, lt.name
from 
    logging_types as lt
    inner join logging as l on lt.id = l.type_id
于 2013-04-18T16:18:24.763 回答