php - SQL 和 PHP : Find all "assets" connected to "presentation"

标签 php mysql sql oop

我真的需要一些 SQL 方面的帮助。

问题 1:

如果 Assets 在其表中具有相应的“presentationid”,那么获取属于“presentation”的所有“assets”就足够容易了。

SELECT * FROM asset WHERE presentationid = 3

但是我如何通过加入来完成同样的事情呢?最好的表达方式是什么:

SELECT * FROM asset WHERE ... Assets 通过“presentationasset”连接到演示文稿:

TABLE asset
id
name

TABLE presentation
id
name

TABLE presenationasset
id
presentationid
assetid

我希望这是有道理的。我想列出所有实际 Assets 及其列,而不是关联表。 :)

问题 2:(没那么重要)

我有我的应用程序设置,因此“演示文稿”是一个类,“ Assets ”是一个类...

考虑到问题 1,我如何将每个关联 Assets 作为“ Assets ”对象返回?或者这甚至重要吗?

最佳答案

问题 1:

SELECT a.id, a.name
FROM asset a 
JOIN presentationasset pa ON pa.assetid = a.id AND pa.presentationid = 3
JOIN presentation p ON p.id = pa.presentationid

关于php - SQL 和 PHP : Find all "assets" connected to "presentation",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10326462/

相关文章:

php - AJAX 未将数据传递给 php

php - Laravel 中按多态关系对数据库结果进行排序

mysql - 有什么办法可以提高 GROUP BY 的性能吗?

php - 开始事务未定义

sql - 如何在 MS Access 查询中指定默认值?

PHP 公共(public)函数的行为类似于静态

php - isconnected() 返回 true 尽管 mysql 服务器在 zend 框架中消失了

php - 从 id=id 的其他表获取信息

mysql - 如何删除mysql中只有一个不同列的行?

c# - 如何在 C# 中比较/转换 SQL rowversion 字段数据