5

次の条件でmysqlデータベースからレコードをフェッチしたい

次のテーブルがあります。

  • 組織_表

    organizationId | organizationname
    
  • キャンペーン表

    camp_id | camp_name | adv_id | organizationId
    
  • アドバタイズ テーブル

    adv_id | adv_name
    
  • ad_display テーブル

    ad_displayId | adv_id | camp_id |
    

今 ad_display テーブルから、次のようなレコードを取得したい:

| adv_name | camp_name | organizationname

条件として Where organizationId WHERE== ?

基本的に、organization_id=? キャンペーンの広告リストが必要です。

注: キャンペーン テーブルに同じ adv_id の複数のエントリがあり、ad_display に複数のエントリがある同じ camp_id が必要です。

4

6 に答える 6

7

これを試して:

SELECT ad.ad_displayId, a.adv_name, c.camp_name, o.organizationname 
FROM ad_display ad 
INNER JOIN advertise a ON ad.adv_id = a.adv_id 
INNER JOIN campaign c ON ad.camp_id = c.camp_id 
INNER JOIN organization o ON c.organizationId = o.organizationId 
WHERE o.organizationId = ?;
于 2012-12-28T09:42:44.410 に答える
2

多分このようなもの?

SELECT Distinct
  advertise.adv_name,
  campaign.camp_name,
  organization_.organizationname
FROM
  advertise inner join campaign
  on advertise.adv_id = campaign.adv_id
  inner join organization_
  on campaign.organizationID = organization_.organizationID
WHERE
  organization_.organizationID = 1
于 2012-12-28T09:41:05.987 に答える
1
SELECT * FROM campaign
LEFT JOIN ad_display ON campaign.camp_id = ad_display.camp_id
LEFT JOIN advertise ON ad_display.adv_id = advertise.adv_id
WHERE campaign.organizationId = <?>
于 2012-12-28T09:41:46.483 に答える
1
SELECT  advertise.adv_name, 
        campaign.camp_name, 
        organization_Table.organizationname
FROM   ad_display 
    INNER JOIN advertise ON ad_display.adv_id = advertise.adv_id 
    INNER JOIN campaign ON ad_display.camp_id = campaign.camp_id 
    INNER JOIN organization_ Table ON campaign.organizationId = organization_Table.organizationId
    AND organization_Table.organizationId=?
于 2012-12-28T09:53:06.353 に答える
1

以下のコードを使用

SELECT dv_name,
       camp_name,
       organizationname
FROM   organization
       inner join campaign
               ON organization.organizationid == campaign.organizationid
       left join advertise
              ON campaign.adv_id == advertise.adv_id
WHERE  condition =? ; 
于 2012-12-28T09:44:37.140 に答える
-1
SELECT batch_number,
       Count(receipt_number) AS tot_rec,
       Sum(amount)           AS tot_amount
FROM   receipt_header
GROUP  BY batch_number
UNION ALL
SELECT batch_number,
       Count(receipt_lines.receipt_number),
       Sum(receipt_lines.amount)
FROM   receipt_lines
       INNER JOIN receipt_header
               ON receipt_header.record_id = receipt_lines.header_record_id
GROUP  BY batch_number
ORDER  BY batch_number ASC; 
于 2015-09-19T07:03:03.607 に答える