在具有自连接关系的mysql表中选择

时间:2018-11-18 08:51:30

标签: mysql group-by self-join

我对自联接关系不是很熟悉,但是我想知道是否有可能执行SELECT来显示与所引用产品直接相关的其他产品的相关产品,此表mysql

this

样本数据:

enter image description here

所需的输出:

enter image description here

我尝试了几次查询,但仅在列表中获得了一个字段,例如该行本身中的相关产品:

`com.google.firebase.internal.api.FirebaseNoSignedInUserException: Please sign in before trying to get a token.`



fReference.putFile(mImageUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Toast.makeText(AdFillActivity.this, "Uploaded", Toast.LENGTH_SHORT).show();  
Task<Uri> 
downUrl=taskSnapshot.getMetadata().getReference().getDownloadUrl();
image[0] =downUrl.toString();  
}
});

我只想显示直接在“父级”产品下与他人相关的记录

enter image description here

谢谢

1 个答案:

答案 0 :(得分:1)

您可以执行此操作而无需使用任何“自连接”。使用obj表达式的条件ORDER BY将起作用。如果CASE .. WHENprodotti_idP,则基本上意味着它是父产品。因此,我们可以简单地按其null值对其进行排序;否则,我们将使用其父ID(idP)进行排序。必须对prodotti_idP值进行第二级排序。

idP

SQL小提琴演示http://sqlfiddle.com/#!9/72ffbcf/6