Ik weet niet zeker hoe ik de vraag moet beschrijven, maar ik probeer suggesties te geven over welke codes aan de tarieven moeten worden toegewezen. Ik doe dit in Oracle.
Dit is mijn databasestructuur:
CODE (
CODEID *PK NCHAR(10)
)
CODETARIFF (
TARIFFNO NCHAR(15) *PK *FK
CODEID NCHAR(10) *PK *FK
)
TARIFF (
TARIFFNO NCHAR(15) *PK
)
Dus ik probeer logisch sjablonen te maken voor welke codes moeten worden toegewezen aan tarieven. Ik stel me voor dat ik iets laat zien in de trant van: "6 tarieven hebben ook deze 2 codes die aan hen zijn gekoppeld"
Ik heb dit geprobeerd, maar de tellingen die voor elk van de codes worden geretourneerd, laten niet echt een sjabloon zien, ze tonen alleen echt gevallen van wanneer die code wordt weergegeven met de twee die ik heb opgegeven.
SELECT COUNT(*), CodeID
FROM CodeTariff
INNER JOIN (
SELECT TariffNo, COUNT(*)
FROM CodeTariff
WHERE CodeID IN ('ABC', 'DEF')
GROUP BY TariffNo
HAVING COUNT(*) > 1) SQ
ON CodeTariff.TariffNo = SQ.TariffNo
WHERE CodeID NOT IN ('ABC', 'DEF')
GROUP BY CodeTariff.CodeID
ORDER BY COUNT(*) DESC;
Sorry als dit verwarrend is.
Ik weet niet of dit zelfs mogelijk is, maar ik zoek naar uitvoer zoals deze:
Gegevens:
Tariefcode
TariffNo CodeID
1111 ABC
1111 DEF
2222 ABC
2222 DEF
2222 GHI
2222 JKL
3333 ABC
3333 DEF
3333 GHI
3333 JKL
Output: (wanneer tarief 1111 wordt gegeven)
CodesToAdd Count
GHI, JKL 2
Zodat ik kan weergeven:
Bij 2 andere tarieven zijn de codes GHI en JKL gekoppeld. Wilt u deze codes toevoegen aan tarief 1111?