2012-12-28 11 views
5

Chcę rekord z bazy danych MySQL sprowadzić na następujący warunekJak używać sprzężenia wewnętrznego w select z mysql?

mam następujące tabele:

  • organization_ Tabela

    organizationId | organizationname 
    
  • Tabela kampania

    camp_id | camp_name | adv_id | organizationId 
    
  • adverti se Tabela

    adv_id | adv_name 
    
  • ad_display Tabela

    ad_displayId | adv_id | camp_id | 
    

Teraz z ad_display tabeli I chcesz nagrać sprowadzić tak:

| adv_name | camp_name | organizationname 

Z WHERE condtion jak Where organizationId ==?

Więc zasadniczo chcę mieć listę reklam kampanii, w której organization_id =?

Uwaga: nie powinno być wielokrotnego wjazdu dla samego adv_id w tabeli kampanią i samego camp_id ze stwardnieniem wpisu ad_display

Odpowiedz

7

Spróbuj tego:

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 = ?; 
+0

thnx ... jej worked..actually jestem nowy w tym i mysql również dla zapytania sql ... ale wszyscy jesteście quick..tnx do tego –

2

Może coś takiego?

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 
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 = <?> 
1

skorzystać z poniższego kodu

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 =? ; 
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=? 
-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; 
Powiązane problemy