mysql - EAV表,查找是否同时存在2条记录

标签 mysql entity-attribute-value

我有一个名为 keywords 的 EAV 表,这些关键字属于一个由 document_id 链接的 document

现在我想知道是否有一个文档有 2 个关键字,keywordAkeywordB 确定了值。

我做了这个,但由于我是 SQL (MySQL) 的新手,我想知道是否有更好的方法:

select * from 
(select * from keywords k where k.keyword = "Nº de Operacion" and k.value = "000539090279") a, 
(select * from keywords k where k.keyword = "Fecha" and k.value = "20140611") b;

然后我检查行是否 > 0 或 1。

最佳答案

您可以计算同一查询中的记录:

SELECT Count(*) KeywordCount
FROM   keywords k
WHERE  ( k.keyword = 'Nº de Operacion'
         AND k.value = '000539090279' )
        OR ( k.keyword = 'Fecha'
             AND k.value = '20140611' ); 

关于mysql - EAV表,查找是否同时存在2条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26613766/

相关文章:

php - 在foreach循环PHP中输出一年中的每个月

c# - 在 ASP.NET 中使用更新命令的日期格式问题

mysql - 偶尔出现的新列 : new columns or separate table or json column

mySQL 在 WHERE 子句中引用别名(EAV 模型)

php - SQLSTATE[42000] : Syntax error or access violation: 1064 PDO

mysql:当具有条件的列具有NULL值时选择查询

php - 如何转换 yyyy mm dd h :m:s to dd mm yyyy h:m:s?

rdf - EAV 与 RDF 相比如何?

mongodb - 用于用户设计表单的数据存储 - NoSQL 对 EAV 的任何优势

database - 了解 EAV 数据库模型的最佳初学者资源?