mysql 多表中间表查询_mySql查询中间表(mySql query intermediate table)

mySql查询中间表(mySql query intermediate table)

我试图找出两个用户之间是否存在对话,但我无法想象如何在mysql中查询。

我的表是:

users

-----

id

name

conversations

-------------

id

conversation_user

-----------------

user_id

conversation_id

例如,我有两个用户和一个对话,所以在我的conversation_user表中

user_id conversation_id

1 1

2 1

如何检查这种关系是否存在?

先谢谢你。

i try to find out if a conversation between two users exist but i can't imagine how to query this in mysql.

My tables are:

users

-----

id

name

conversations

-------------

id

conversation_user

-----------------

user_id

conversation_id

For example, i have two users and one conversation so in my conversation_user table i have

user_id conversation_id

1 1

2 1

How to check if this relationship exist or not?

thank you in advance.

原文:https://stackoverflow.com/questions/38513710

更新时间:2019-12-23 11:40

最满意答案

你可以使用join:

SELECT

c1.*, c2.*

FROM

conversation_user c1

INNER JOIN

conversation_user c2

ON

c1.conversation_id = c2.conversation_id

WHERE

c1.user_id != c2.user_id;

您可以看一下这个更详细的SQLFiddle示例 。 它显示了一个带来用户名称的示例和一个按对话过滤的示例。

You can use join for that:

SELECT

c1.*, c2.*

FROM

conversation_user c1

INNER JOIN

conversation_user c2

ON

c1.conversation_id = c2.conversation_id

WHERE

c1.user_id != c2.user_id;

You can take a look at this SQLFiddle Example that is a bit more detailed. It shows an example of bringing the name of the users and one that filters by conversation.

2016-07-21

相关问答

问题中的SQL查询似乎有效,您只需添加其余的表和条件即可获得所需的数据。 用户填写表单并希望搜索所有成员(成员表)zipcode = 11111或zipcode = 22222(个人资料表)承诺= ANY,practice = ANY,gigs = 1,availability = ANY(技能表)lead_vocals = 1和lead_guitar = 1(流派表)alternative = 1,modern_rock = 1,heavy_metal = 1 您已经将一半查询放在请求中,除非它

...

您可以对UNION ALL使用条件聚合 : SELECT t1.acc_no, t1.name,

SUM(CASE WHEN t2.`date` = '2016-06-01' THEN amount END) AS '2016-06-01',

SUM(CASE WHEN t2.`date` = '2016-06-02' THEN amount END) AS '2016-06-02',

SUM(CASE WHEN t2.`date` = '2016-06-

...

你得到$row[field_name] , 如果你有两个同名但来自不同表的字段,你必须至少添加一个table.field AS somthing_else SELECT t1.id,t2.id AS 't2_id' ....

...

...

var_dump($row);

会给$row['id'],$row['t2_id'] 如果你不使用AS你将只获得$row['id'] (一个值丢失)。 You get it as $row[field_name], And if you have two f

...

你可以使用join: SELECT

c1.*, c2.*

FROM

conversation_user c1

INNER JOIN

conversation_user c2

ON

c1.conversation_id = c2.conversation_id

WHERE

c1.user_id != c2.user_id;

您可以看一下这个更详细的SQLFiddle示例 。 它显示了一个带来用户名称的示例和一个按对话过滤的示例。 You can use jo

...

这不是我做过的最好的查询,但我得到了你想要的结果: wwtest1 = table-1,wwtest2 =表2。 SELECT w1.cid AS cid, (SELECT SUM(total) FROM wwtest WHERE cid = 23) AS total, ((SELECT SUM(advance) FROM wwtest WHERE cid = 23) + (SELECT SUM(advance) FROM wwtest2)) AS advance, ((SELECT SUM(to

...

我了解https://cloud.google.com/bigquery/docs/reference/v2/tabledata/list willl可让您在不执行查询的情况下读取表格块(产生数据处理费用)。 这使您可以并行读取查询结果,并将所有查询写入临时表ID,您可以将其传递给此函数并提供不同的范围(使用startIndex,maxResults)。 I understand that https://cloud.google.com/bigquery/docs/reference/v2/ta

...

User_Exercise不需要单独的模型 您可以使用$this->belongsToMany从基本模型即User Note : 对于插入过程,您可以通过获取父ID $insertUser = User::create($userData); 然后 $insertUser->id用于获取最后一个插入ID 然后要检索User_Exercise您应该使用User模型中的$this->belongsToMany 例 在你的User模型中有这个 public function getUser() {

re

...

事情在这里:

作为提交的图像类型不会处理POST指令。 您需要使用实际的提交类型输入。

或者作为使用提交类型的按钮: DELETE

这就是为什么你的代码不会“触发”条

...

select

*

from

your_table

where Position = 2

and Rec_ID in (select Rec_ID from your_table where Sbj_ID = 9)

select

*

from

your_table

where Position = 2

and Rec_ID in (select Rec_ID from your_table where Sbj_ID = 9)


版权声明:本文为weixin_36477752原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。